更新时间:2026-07-28 GMT+08:00
特性概述
CM模块分为CMServer和CMAgent两个模块。
CMServer是整个集群的大脑,负责集群中各GTM、CN、DN实例状态的监控,以及每一对GTM,DN主备HA角色的仲裁,根据CMAgent上报的各实例节点状态信息来仲裁实例是否需要状态变更,以及需要哪种变更。正常场景下,集群需要有且只有一个CMServer主进行相关仲裁动作,CMServer会定期向ETCD写心跳数据,如果集群中CMServer主发生故障,需要通过ETCD仲裁选主。
CMAgent的主要功能包括启动本节点所有实例、停止本节点所有实例、监控上报本节点所有实例状态给CMServer以及执行CMServer下发的仲裁命令。
CMAgent是多线程监控组件,线程结构如图1所示。线程包括:
- 主线程负责上报节点实例状态,以及执行CMServer下发的命令。
- 启停线程负责启动和停止节点实例。
- 与GTM/DN/CN连接线程负责查询实例状态。
父主题: CM仲裁及故障检测原理
