集群和主从复制有啥关系和区别

对于mysql来说,按实例区分,1主1从(主读写从只读),或1主2从(主读写一备只读二备延时冷备),组成的整体一般视为一个节点,大于等于2个节点开始,视为一个集群。严格来说,1主2从的方式才算合理的完整节点,发生故障的时候主从可以切换,还有一个冷备是做延时同步,保证大部分数据冗余不会完全丢失。主备主要是保障单点的系统数据可靠性和提升写io性能,集群是为了应对单点无法存储的大数据量,和单点无法及时处理的高并发。所以从架构和集群的上层角度看,主备可以认为是同一个实例同一个库,集群一般就结合分库分表,数据就有可能不同(并发请求更高或者数据可靠性要求更高的,节点也可以做冗余处理)。当然这种说法并不是严格的定义,只是大家比较认可的一种最佳实践。
■网友
最简单,集群不是得有3个节点吗,而且集群的目的是功能一样的冗余。主从目的是主写,从读。所以主从只是一个节点。

■网友
cluster本义就是一堆机器
■网友
集群是多台机器做同一件事情(高性能HPC) 或者任意一台机器处理一个事情(负载均衡LBC)
主从属于高可用的范畴: 主机挂了 备用马上接替. 平时只使用主机(高可用HA)
【集群和主从复制有啥关系和区别】

■网友
总结楼上的回答, @张海
所以从架构和集群的上层角度看,主备可以认为是同一个实例同一个库,集群一般就结合分库分表,数据就有可能不同(并发请求更高或者数据可靠性要求更高的,节点也可以做冗余处理)。(集群中也可以引入主从复制来引入数据冗余。)自己的思考:
总的来说集群的是一种虚拟化的思想(将各个实例看做一个整体),而主从复制只是一种数据备份,数据冗余的思想。(只有一个实例,因为多个实例持有相同的数据)

■网友
负载均衡、热备 都是通过集群要实现的功能... 如果一定要找共同点的话 "复数的机器支持一个服务的运行"


    推荐阅读