集群内 Broker 配置一致性检查
巡检规则
本文中提及的 RocketMQ Copilot 术语是 AutoMQ Copilot for RocketMQ 的简称,均特指安托盟丘(杭州)科技有限公司面向 Apache RocketMQ 设计实现的消息队列智能辅助运维系统。
检测数据源
集群内 Broker 配置一致性检查的检测数据源是目标集群 BrokerConfig 信息,通过读取目标集群所有节点的配置,判断是否存在差异。
检测周期
- 每 10 分钟一次。
- 不可关闭。
异常检测逻辑
相同 Cluster 下 所有 Broker的配置进行对比,出现重要配置值差异,则产生异常事件。
事件和风险
RocketMQ Copilot 系统巡检会对检测不通过的规则产生异常事件和风险,异常事件遵循 概述▸ 。
异常事件
- 异常事件类型:copilot:cluster:BrokerConfigConsistencyInspectionFailed
- 关于事件的详细 schema 定义,异常事件:服务端配置不一致▸ 。
异常风险
- 关联的风险类型:服务端配置不一致。
风险分析
RocketMQ 中,Broker 往往以 Cluster 的形式被统一组织并对外提供服务。Topic 和 Consumer Group 等资源的创建也往往是面向 Cluster 的。因此除了 BrokerConfig#brokerId 和 BrokerConfig#brokerName 等表示身份信息的配置之外,一个 Cluster 之内的所有 Broker 都应该拥有相同的配置。
相同 Cluster 范围内的多个 Broker ,如果存在身份信息之外的配置不一致,则对 Cluster 造成的后果是未定义的,可能会导致后续运维操作出现不可控风险。
运维建议
建议 1:生产环境集群内各节点保持相同的重点配置
生产环境建议使用配置管理工具,按集群粒度运维配置,避免出现差异化配置值。