一、主从复制:
主从之间是通过mysql的replication(复制)来保证数据的一致性,相对集群的数据同步方式来讲是异步的,因为异步,所以主从之间复制数据可能会有一点微小的延时,就会出现不一致。
但是主从也有缺点,一个是不满足高可用,master宕机,需要手动切换才行,业务会中断不允许的,
还有就是数据不一致,而不一致可能导致的原因有很多,下面是常见的几点主库或从库意外宕机,
1.宕机可能会造成binlog或者relaylog文件出现损坏,导致主从不一致
2.主库binlog格式为Statement,同步到从库执行后可能造成主从不一致
3.从节点未设置只读,误操作写入数据
4.主从实例版本不一致,特别是高版本是主,低版本为从的情况下,主数据库上面支持的功能,从数据库上面可能不支持该功能
那么在使用时就需要注意以下这些事项主库binlog采用ROW格式
主从实例数据库版本保持一致
主库做好账号权限把控,不可以执行set sql_log_bin=0
从库开启只读,不允许人为写入
定期进行主从一致性检验
二、集群
集群最大的优点就是数据实时同步,高可用,每个节点的数据都是同步一致的,不像主从,有时会出现数据不一致,而高可用,任何一个节点宕机都不会影响业务。
但是缺点就是性能,写的性能,每次写操作,都会在所有节点之间进行同步,有失有得,损失了一点性能,保证了高可用和数据一致。