架构
官方架构图
复制数据
主从复制,其实就是把主节点数据复制到从节点。
自动切换
如果主节点挂了,从节点会自动晋升为主节点。
版本区别
高版本
4.5和以上,支持自动切换。
低版本
4.5以下,不支持自动切换。
自动切换-实现原理
1.主节点挂了
2.选择一个从节点
1)一个从节点
如果只有一个从节点,就选择这个从节点晋升为主节点。
2)多个从节点
如果有多个从节点,就选举,过半以上节点选择了某个从节点,该节点才会晋升为主节点。
小结
高可用的核心
1.有一个备胎节点
2.实现自动切换功能
读写数据
主节点
写和读。
从节点
最佳实践是不写也不读,只备胎。
从节点默认是不读,但是也可以设置为可读——但是最好不要这么做,因为徒增复杂度,容易引起故障。
消费数据
如果主节点挂了,
1.高版本
从节点会自动晋升为主节点,然后就可写可读。
2.低版本
从节点不会晋升为主节点。那主节点的没有来得及消费的数据怎么办?消费者会从备胎节点读数据,这正是从节点的作用。
但是,此时,从节点是不能写数据的。所以,相当于主节点集群数量少了一个节点,就像dubbo集群服务一样,少了一个节点,是没有影响的。但是,如果剩下的主节点比较少,比如总共只有2个,然后还挂了一个,这个时候就会存在单点故障。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。