异步模式
异步模式也是Mysql默认的数据同步机制
- 优点:数据同步速度快,能及时响应客户端的请求。
- 缺点:假如主数据库接收到客户端的写入请求,主数据库就会向从数据库发送请求并把相关的日志数据传输给从数据库时,这时主数据库不会管从数据库是否更新完毕,就向客户端响应,从数据库可能会因为外部因素,如网络故障等,导致从数据库接收不到,或接收到一半就断了,可能会导致主从二个数据库的数据存在不一致性
# 全同步模式 全同步模式是官方为了解决异步模式的弊端,出的一种模式,也是基于异步模式基础以上的一种模式 - 优点:最大可能性保障数据的一致性,对客户端的请求响应比较慢
- 缺点:假如主数据库接收到客户端的写入请求,主数据库就会向从数据库发送请求并把相关的日志数据传输给从数据库,这时主数据库没有接收到下面所有的从数据库更新完毕的状态,是不会向客户端响应,会一直等所有从数据库响应完毕,才会向客户端响应,这样又有一个问题,如果从数据库过多,在数据同步的过程可能会导致比较慢,对客户端的响应速度会有点影响。
# 半同步模式 半同步模式,是由谷歌开源出来的一个数据库插件,也是基于异步模式以上的一种模式,是异步模式跟全同步模式的中和版 - 优点:尽量可能性保障数据的一致性,对客户端的请求响应速度一般
- 缺点:假如主数据库接收到客户端的写入请求,主数据库就会向从数据库发送请求并把相关的日志数据传输给从数据库,这时只要主数据库接收到所有从数据库其中任意一个数据库的返回状态,立刻会向客户端响应,不会等待所有从数据库响应再响应客户端。