检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
您可使用Kafka开源客户端连接Kafka实例,调用原生API生产与消费消息。 父主题: 实例问题
消费模式 支持客户端主动拉取和服务端推送两种方式。 客户端主动拉取。 支持客户端主动拉取和服务端推送两种模式。 广播消费 支持 支持 支持 消息回溯 支持 支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 3.8.35版本:不支持。
在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图2 为Kafka实例选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。
消费组简单流程如下: 有新的消费者加入或退出,服务端记录的消费组元数据更新,服务端更新消费组进入REBALANCING状态。 服务端等待所有消费者(包含已有的消费者)同步最新的元数据。 所有消费者同步完最新的元数据后,服务端更新消费组状态为STABILIZED。
表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS 单个代理分区上限 单个代理建议消费组数 单个代理客户端总连接数上限 存储空间范围(GB) 单个代理流量规格(MB/s) kafka.2u4g.cluster.small 3~30 20000 100 15 2000
建议选择超高IO,云硬盘服务端压力大场景,都不能达到最大带宽,但是超高IO可达到的带宽比高IO高很多。 父主题: 实例问题
社区求助 华为云社区是华为云用户的聚集地。这里有来自PaaS中间件的技术牛人,为您解决技术难题。
实践验证 成熟度高 经受电商网站大规模访问考验,并且已经在华为云许多产品中使用,广泛部署运行在分布于世界各地的电信级客户云业务系统里。满足严苛的电信级故障模式库标准。紧随社区主流版本,修复开源bug,持续上线新功能,进行版本升级。
Go 本文以Linux CentOS环境为例,介绍Go 1.16.5版本的Kafka客户端连接指导,包括demo代码库的获取,以及生产、消费消息。 使用前请参考收集连接信息收集Kafka所需的连接信息。 准备环境 执行以下命令,检查是否已安装Go。
在实例重启过程中,客户端的生产与消费消息等请求会被拒绝。 实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。 调用方法 请参见如何调用API。
使用PEM格式证书访问Kafka实例 以下示例演示在Java客户端使用PEM格式证书访问Kafka实例。 参考Java客户端接入示例,连接Kafka实例生产消费消息。其中,生产消息配置文件和消费消息配置文件中的SASL信息修改为如下内容。
虚拟私有云:选择获取Kafka实例的信息中记录的虚拟私有云。 子网:选择获取Kafka实例的信息中记录的子网。 企业项目:根据实际情况选择。 其他参数请根据实际情况填写,如果想要了解更多的参数信息,请参考购买公网NAT网关。
图3 分区增加成功 在客户端修改Topic分区数 Kafka客户端版本为2.2以上时,支持通过kafka-topics.sh修改Topic分区数。 未开启密文接入的Kafka实例,在Kafka客户端的“/bin”目录下,通过以下命令修改Topic分区数。 .
Kafka相关概念 华为云使用Kafka作为消息引擎,以下概念基于Kafka进行描述。 Topic 消息主题。消息的生产与消费,围绕消息主题进行生产、消费以及其他消息管理操作。 Topic也是消息队列的一种发布与订阅消息模型。
Maven中引入Kafka客户端 //Kafka实例基于社区版本1.1.0/2.3.0/2.7/3.x,推荐客户端保持一致。
在实例重启过程中,客户端的生产与消费消息等请求会被拒绝。 实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。 URI POST /v1.0/{project_id}/instances/action 参数说明见表1。
客户端所在安全组需要增加如下规则,以保证客户端能正常访问Kafka实例。 表2 安全组规则 方向 策略 协议端口 目的地址 出方向 允许 全部 Default_All 图1 配置客户端安全组 Kafka实例所在安全组需要增加如下规则,以保证能被客户端访问。
表5 添加公网IP参数 参数 说明 公网IP 选择“IPv6网卡” 所属VPC 在下拉框中选择6中记录的虚拟私有云。 子网 在下拉框中选择6中记录的子网,并勾选6中记录的全部IPv6地址。
创建Kafka消费组 消费者是从Topic订阅消息的一方,消费组是由一个或多个消费者组成的。同一个消费组内,一个消费者可同时消费多个分区,但一个分区在同一时刻只能被一个消费者消费。 图1 消费关系示例图 “auto.create.groups.enable”表示在消费者进入未创建的消费组时
如果Kafka实例为集群部署,至少有3个连接地址,在客户端配置时,建议配置所有的连接地址,提高可靠性。 如果开启公网访问,还可以使用基本信息页面下方的公网连接地址访问Kafka实例。