通过查看 Group 详情,例如客户端连接关系、订阅关系、消费进度等,您可以全面监控消息生产与消费链路的健康状态,快速识别并定位消费延迟、客户端异常等关键问题。
操作步骤
1. 登录 TDMQ RocketMQ 版控制台。
2. 在左侧导航栏选择资源管理 > 集群管理,选择好地域后,单击目标集群的“ID”,进入集群基本信息页面。
3. 在集群基本信息页面,选择 Group 页签,在 Group 列表中,单击目标 Group 的名称,可以查看 Group 详情。
基本信息
参数 | 说明 |
Group 名称 | Group 的名称。 |
创建时间 | Group 的创建时间。 |
投递顺序性 | 服务端将消息投递给消费者消费的顺序,支持顺序投递和并发投递,默认投递方式为并发投递。 顺序投递:将逻辑上相关联的消息路由至同一队列并串行化处理,从而严格保证消息按其发送顺序被消费的机制。 并发投递:指消息队列通过将消息分发至多个队列并由多个消费者线程并行处理,旨在最大化系统吞吐量与资源利用率,不保障消息间的处理顺序。 |
消费者类型 | 客户端获取消息的方式,支持 PUSH 或者 PULL。 PUSH 方式由客户端内部封装的长轮询机制来模拟服务端主动推送。 PULL 方式则由应用层主动调用客户端的拉取方法。 |
总消息堆积 | 消息堆积的总数量。 |
参数 | 说明 |
Group 名称 | Group 的名称。 |
创建时间 | Group 的创建时间。 |
消费模式 | 集群模式或者广播模式。 集群消费:当使用集群消费模式时,任意一条消息只需要被集群内的任意一个消费者处理即可。 广播消费:当使用广播消费模式时,每条消息会被推送给集群内所有注册过的消费者,保证消息至少被每个消费者消费一次。 |
客户端协议 | 支持 TCP 和 HTTP 协议。 |
总消息堆积 | 消息堆积的总数量。 |
消费者类型 | ACTIVELY(客户端主动拉消息,Pull 模式) 或 PASSIVELY(客户端等待服务端推消息,Push 模式)。 |
客户端连接
参数名 | 说明 |
客户端地址 | 指客户端所在机器的 IP 地址和端口号。这个端口是客户端进程随机打开的本地端口,用于与 Broker 进行网络通信。 |
主机名 | 客户端机器在操作系统层面配置的主机名称。 |
客户端类型 | 仅5.x 集群展示。标识客户端的角色,主要是 Producer(生产者) 或 Consumer(消费者)。 |
客户端语言 | 开发此客户端所使用的编程语言,如 JAVA、CPP、GO、DOTNET 等,RocketMQ 支持多语言客户端。 |
客户端版本 | 客户端所使用的 RocketMQ 客户端库的版本,检查此字段有助于确认客户端版本是否与服务器兼容或是否存在已知 Bug。 注意: |
消息堆积 | 仅 4.x 集群展示。堆积的消息数量。 |
操作 | 查看详情:可查看消费者详情。对于 4.x 专享集群来说,除了展示客户端的连接信息和 ID 外,还能进一步查看该客户端订阅的具体 Broker 节点上的队列信息。 查看堆栈:可以查看该客户端的堆栈,也可以在堆栈上方搜索关键词,查看对应的堆栈信息。 |
订阅关系
参数名 | 含义说明 |
Topic | 该 Group 所订阅的 Topic 名称。 |
类型 | |
消息堆积条数 | 当前 Group 的消息堆积中,各 Topic 下的消息条数 |
队列数 | 该 Topic 下的队列总数,队列是 RocketMQ 进行负载均衡和并行消费的最小单元,一个消费者会分配到一个或多个队列进行消费。 |
过滤模式 | 消费者订阅消息时的过滤方式。 TAG:标签过滤模式,通过设置消息的 Tag(标签)进行订阅,是最常用的方式。 SQL92:使用类 SQL 表达式对消息的 Property(用户属性)进行复杂过滤。 |
订阅一致性 | 检查该消费者组下所有消费者实例的订阅关系是否一致。 一致:所有消费者实例都订阅了完全相同的 Topic 和 Tag(或 SQL 表达式)。 不一致:存在至少一个消费者实例的订阅关系与其他实例不同,这是导致消息丢失或混乱的常见原因,需修复。详细说明请参考订阅关系一致性。 |
操作 | 如果当前 Group 没有在线客户端订阅某个 Topic,则可以在操作列单击取消订阅以清理历史订阅关系数据,避免历史脏数据的影响。 |
消费进度:仅4.x 专享集群支持
参数名 | 含义说明 |
Topic | 消息所属的主题。 |
所属 Broker 节点 | 该队列主节点所在的 Broker 服务器地址。 |
队列编号 | 该 Topic 下的消息队列编号(从 0 开始)。 |
消费者ID | 当前正在消费该队列的消费者实例的 Client ID。格式通常为 IP@进程ID。 |
消费者位点 | 也常称为 Consumer Offset。指该队列中,消费者实例即将要消费的下一条消息的起始位置。 |
服务端位点 | 也常称为 Broker Offset 或 Max Offset。指该队列中,Broker 服务器端最新存储的消息的位置。 |
消息堆积条数 | 该队列中未被消费的消息条数。计算公式:消息堆积条数 = 服务端位点 - 消费者位点。消息堆积条数支持当前页按大小排序。 |
最近消费时间 | 该队列最后一次被成功消费一条消息的时间戳。如果这个时间很久远,说明该队列可能消费停滞。 |