全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

Kafka 常见问题

更新时间:2018-01-11 10:55:57

1. 什么是 CID, Consumer ID, Consumer Group 和 Group ID?

这几个名称指代的都是同一个概念:Kafka 的消费组 (Consumer Group)。CID 是 Consumer ID 的缩写,也等同于 Group ID (Consumer Group ID 的简称,指代一个特定的消费组)。每个消费组可以包含多个消费实例,一起负载均衡消费订阅的 topic,所以 CID 与 topic 的关系可以总结为:每个 CID 可以订阅多个 topic,每个 topic 也可以被多个 CID 订阅;各个 CID 之间相对独立,互不影响。

假设 CID 1 订阅了 Topic 1,则 Topic 1 的每条消息会发给 CID 1 的某个实例,且只会发给其中一个实例。如果 CID 2 也订阅了 Topic 1,Topic 1 的每条消息也会发给 CID 2 里的某个实例,且只发给其中一个实例。

注意:控制台里看到的 Producer ID 是 Aliware MQ 里的概念,Kafka 不会用到, 后续会改进优化。

2. 如何查看消费进度?

如需查看某个特定订阅消费者的消费进度,请按照如下步骤操作:

  1. MQ 控制台左侧点击消费管理
  2. 在搜索框中输入 topic 或者 Cosumer ID,点击搜索,查找你想查看消费进度的 Consumer ID。
  3. 找到该 Consumer ID 后,点击操作列中的消费者状态,在跳出的页面中可查看堆积总量

堆积总量 = 所有的消息数 - 已经消费的消息数

注意:目前消费者状态都会显示不在线,未来会进行优化。除了堆积总量,其它信息仅供参考。

3. 消息堆积了怎么办?

消息堆积,一般都是消费速度过慢或者消费线程阻塞造成的。建议打印出消费线程的堆栈情况查看线程执行情况。

注意: Java 进程可以用 JStack。

本文导读目录