在MS SQL中有 always on 机制,请问在不使用cloud的情况下。MySQl如何也可达到Always on 的功能
对SqlServer不太熟悉,先说下我对AlwaysOn的一点理解(说的不对请纠正):
1、SqlServer的AlwaysOn底层采用Windows故障转移群集的机制进行监测和转移,需要先建立Windows Cluster。
2、一个主服务器可以最多对应四个辅助服务器,总数达到五个,而且辅助服务器支持只读功能。
3、集中了故障转移群集、数据库镜像和日志传送三者的优点,但又不相同。
基于这些的话,目前MySQL的集群架构应该是比SqlServer的AlwaysOn要有一点优势的。比如目前比较主流的Percona XtraDB Cluster,和刚刚发布的MySQL Group Replication等。
1、MySQL的集群也是需要依赖于集群件,以PXC为例是基于Galera的。
2、是一个多主多从的架构,理论上支持很多的节点,但是推荐3/5/7/9个,以为你节点太多的话对性能影响太大,重要的是所有的节点都是可以读写的。
3、基于第二点,就可以实现高可用、读写分离负载均衡等功能。