支持基于zookeeper或者etcd构建高可用集群
只有leader节点响应binglog的dump事件,follower节点为蛰伏状态,不发送dump命令,因此多个follower也不会加重MySQL数据库的负担
当leader节点出现故障,follower节点迅速替补上去,实现秒级故障切换
架构如下:
![](images/Cluster.png)
相关配置
```
#cluster: # 集群相关配置
name: myTransfer #集群名称,具有相同name的节点放入同一个集群
bind_ip: 127.0.0.1 # 绑定的IP,如果机器有多张网卡(包含虚拟网卡)会有多个IP,使用这个属性绑定一个
#ZooKeeper地址,多个用逗号风格
zk_addrs: 192.168.1.10:2181,192.168.1.11:2182,192.168.1.12:2183
#zk_authentication: 123456 #digest类型的访问秘钥,如:user:password,默认为空
#etcd_addrs: 127.0.0.1:2379 #etcd连接地址,多个用逗号分隔
#etcd_user: test #etcd用户名
#etcd_password: 123456 #etcd密码
```
其中,
bind_ip表示为当前节点绑定的IP,如果机器有多个IP(包含虚拟网卡),系统不知道选择那个IP代表当前节点,如果不填写会出现如下错误:
![](images/Cluster4.jpg)
主节点启动过程如下:
![](images/Cluster1.jpg)
从节点启动过程如下:
![](images/Cluster2.jpg)
etcd同理
<br/>
集群模式监控界面如下:
![](images/Cluster3.jpg)