更新时间: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所示。线程包括:

  1. 主线程负责上报节点实例状态,以及执行CMServer下发的命令。
  2. 启停线程负责启动和停止节点实例。
  3. 与GTM/DN/CN连接线程负责查询实例状态。
图1 CMAgent线程结构

相关文档