检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
"XXXX", "id" : 2, "host" : "172.31.1.15", "port" : 9091 }, { "group_id" : "XXXX", "id" : 2, "host" : "172.31.1.15",
消费进度。参数参见表4。 assignment_strategy String 分区分配策略。 表3 members参数说明 参数 类型 说明 host String 消费组consumer地址。 assignment Array of object assignment consumer分配到的分区信息。参数请参见表5。
)。 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : = + - @ 不能以_sys_开头。 首尾字符不能为空格。 value String 标签值。 长度为0~255个字符(中文也可以输入255个字符)。 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : =
Replicas) 副本总数。 consumers_count Integer 消费组数量。 表4 brokers 参数 参数类型 描述 host String 节点IP。 port Integer 端口号。 broker_id String 节点ID。 is_controller
Kafka支持服务端认证客户端吗? 连接开启SASL_SSL的Kafka实例时,ssl truststore文件可以用PEM格式的吗? 下载的证书JKS和CRT有什么区别? Kafka支持哪个版本的TLS? Kafka实例连接数有限制吗? 客户端单IP连接的个数为多少? Kafka实例的内网连接地址可以修改吗?
Replicas) 副本总数。 consumers_count Integer 消费者总数。 表4 brokers参数说明 参数 类型 说明 host String 节点IP。 port Integer 端口号。 broker_id String 节点id。 is_controller
Topic和分区问题 Kafka实例的Topic数量是否有限制? 为什么限制Topic的总分区数? Kafka支持减少分区数吗? Kafka实例创建Topic失败 Kafka实例支持批量导入Topic功能么?或者是自动生成Topic功能? 为什么删除Topic不生效?删除后该Topic仍然存在
CPU使用率高的处理措施: 优化线程参数num.io.threads、num.network.threads和num.replica.fetchers的配置。 num.io.threads和num.network.threads建议配置为磁盘个数的倍数,但不能超过CPU核数。 num.replica
consumer不能频繁加入和退出group,频繁加入和退出,会导致consumer频繁做rebalance,阻塞消费。 同一消费组内consumer数量不能超过该消费组订阅的分区总数,否则会有consumer拉取不到消息。 consumer需周期poll,维持和server的心跳,避
objects 消费进度。 assignment_strategy String 分区分配策略。 表4 members 参数 参数类型 描述 host String 消费组consumer地址。 assignment Array of assignment objects consumer分配到的分区信息。
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录管理控制台。 鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号ID
选择和配置安全组 Kafka实例支持使用内网通过同一个VPC访问、跨VPC访问、通过DNAT访问和公网访问,访问实例前,需要配置安全组。 使用内网通过同一个VPC访问实例 客户端和实例是否使用相同的安全组? 是,如果保留了创建安全组后,系统默认添加的入方向“允许安全组内的弹性云服
这种方案适用于对消费消息的实时性要求不高的应用场景。如果要求准实时消费消息,则建议保持所有消费者处于活跃状态。 图2 优化后的多线程消费方案 消费者(Consumer)和消息分区(Partition)并不强制数量相等,Kafka的poll(long)方法帮助实现获取消息、分区平衡、消费者与Kafka broker节点间的心跳检测等功能。
1中只有Leader副本,Broker 0和Broker 2中存在Leader副本和Follower副本,由于Leader副本的限流和Follower副本限流分开计算,Broker 0和Broker 2需要分别计算Leader副本的限流和Follower副本限流。由此得出以下数据:
broker-0的CPU使用率(客户端服务器和实例在相同的AZ中) CPU消耗=58.10% 图8 broker-0的CPU使用率(客户端服务器和实例在不同的AZ中) CPU消耗=17.20% 图9 broker-1的CPU使用率(客户端服务器和实例在相同的AZ中) CPU消耗=56.70%
设置SASL认证机制、账号和密码。 ## spring.kafka.properties.sasl.mechanism为SASL认证机制,username和password为SASL的用户名和密码,参考“收集连接信息”章节获取。为了确保用户名和密码的安全性,建议对用户名和密码进行加密处理,使用时解密。
单机和集群Kafka实例差异概述 单机实例是分布式消费服务Kafka版提供的单代理实例,只适用体验和业务测试场景,无法保证性能和可靠性。如果需要在生产环境使用Kafka实例,建议购买集群实例。 单机实例和集群实例支持的特性和功能有部分差异,具体如表1所示。 表1 单机实例和集群实例的差异说明
以下示例演示在Java客户端使用PEM格式证书访问Kafka实例。 参考Java客户端接入示例,连接Kafka实例生产消费消息。其中,生产消息配置文件和消费消息配置文件中的SASL信息修改为如下内容。 #SASL认证机制为“PLAIN”时,配置信息如下。 sasl.mechanism=PLAIN
sasl.mechanism=PLAIN 参数说明如下:username和password为首次开启密文接入时填入的用户名和密码,或者创建用户时设置的用户名和密码。 SASL_SSL:如果已经设置了用户名和密码,以及SSL证书配置,请跳过此步骤,执行2。否则在Kafka客户端的“
Development Kit 1.8.111或以上版本和Git Bash。 创建Kafka实例和Topic,并获取Kafka实例信息。 Kafka实例未开启公网访问和SASL认证时,获取表2所示信息。 表2 Kafka实例信息(未开启公网访问和SASL认证) 参数名 获取途径 内网连接地址