跳到主要内容
版本:1.0.13

Halo_Shield的介绍

# 13.1 Halo Shield的介绍

Halo Shield 是一套自动管理 Halo 主从数据库的高可用解决方案。该方案包括以下几个组成部分。

Etcd 分布式键值数据库

Patroni 流复制创建、管理、监控和自动故障转移进程

Etcd 最少需要三个节点且为奇数来进行 leader 选举。一般可以和Halo数据库部署在相同的服务器上。Etcd 集群之间会进行心跳检测,当发生网络故障时,节点数少的etcd集群会不可用,从而避免脑裂。

Patroni 运用 etcd 集群存储、检测Halo 主从节点的状态与配置信息,当由于故障使得某个节点无法工作,Patroni会自动侦测故障,并通过 etcd 更新节点信息,从而通知所有其他节点。如果该故障节点是主节点,Patroni 还会自动切换,并重新绑定VIP到新的主节点,从而减少对应用系统的影响。

Patroni 通过连接 etcd 对其它节点做心跳检测,当主节点无法更新etcd中的leader lock,patroni会终止当前节点的Halo数据库从而避免脑裂。

leader lock,patroni会终止当前节点的Halo数据库从而避免脑裂。