更新时间:2026-07-28 GMT+08:00
分享

CMServer仲裁

CMServer负责整个数据库实例中实例的仲裁及命令下发,相当于实例的大脑。当某个实例出现故障时,CMServer会进行实例仲裁,尝试恢复实例的可用状态;但当CMServer自身面临故障时,由于缺乏上层组件进行仲裁,其依靠的是自身的自仲裁机制来保障数据库实例的可用性。

CMServer自仲裁选主如下图所示:

  1. CMServer会持续往ETCD中写入心跳。
  2. CMServer主异常后,不再向ETCD中更新心跳,CMServer备发现CMServer主心跳超时(6s)后,进入自选主流程。
  3. CMServer备满足心跳连续,且存在CMAgent预连接,就会自行升主并将本CMServer的升主信息写入ETCD。其余CMServer看到ETCD中的升主信息,就退出选主流程。
  4. CMServer选主成功。
图1 CMServer自仲裁选主

相关文档