上云无忧 > 文档中心 > 腾讯云消息队列 CKafka - Consumer Group 问题
消息队列 CKafka
腾讯云消息队列 CKafka - Consumer Group 问题

文档简介:
怎样设置合理的消费者数量? 消费组和消费者的对应关系如下: 一个消费者可以同时订阅多个 Topic。 一个 Topic 里面包含了1到多个分区。 一个分区只能被一个消费者消费。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

怎样设置合理的消费者数量?

消费组和消费者的对应关系如下:
一个消费者可以同时订阅多个 Topic。
一个 Topic 里面包含了1到多个分区。
一个分区只能被一个消费者消费。
所以,一个消费组里面,消费者数量上限 = topic1的分区数 + topic2的分区数 +...... + topicN 的分区数。
关于消费者的定义:消费者在代码层面指的是一个 Consumer 的对象,一个机器上可以有多个消费者,例如起多个线程,一个线程里面有一个 Consumer,以此类推,如下面代码所示:
		
Properties props = new Properties();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrap);
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList(topic));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
}
初始的消费者数量可以根据客户端的资源情况进行初始的部署,然后配置消费者组的堆积告警,如果出现堆积的时候再扩容消费者。配置告警方式参见 配置告警,配置页面如下图所示。

相似文档
  • Kafka Console 客户端测试时看不到数据如何处理? 消费者采用 latest 时候只会获取最后的数据,需要同时保持生产才可以看到相应数据。 改为 earliest 方式消费数据。
  • Kafka Console 客户端测试时看不到数据如何处理? 消费者采用 latest 时候只会获取最后的数据,需要同时保持生产才可以看到相应数据。 改为 earliest 方式消费数据。
  • CKafka 是否支持公网访问? CKafka 默认内网传输,如需通过公网访问,需要单独开通一条公网路由,具体操作参见 添加路由策略,当前单台 Broker 默认提供3Mbps 免费公网带宽。
  • 限流机制说明: Kafka 的限流机制是软限流,即当用户流量超过配额后,采用延时回包的方式进行处理,而不是给客户端返回报错。
  • 客户端生产消息如何保证在同一分区是有序的? 如果 Topic 只有一个分区,那么消息会根据服务端收到的数据顺序存储,则数据就是分区有序的。 如果 Topic 有多个分区,可以在生产端指定这一类消息的 key,这类消息都用相同的 key 进行消息发送,CKafka 会根据 key 哈希取模选取其中一个分区进行存储,由于一个分区只能由一个消费者进行监听消费,此时消息就具有消息消费的顺序性了。对于单个生产者来说,对单个分区的生产,是保持有序的。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部