当前位置:Gxlcms > 数据库问题 > mysql读写分离

mysql读写分离

时间:2021-07-01 10:21:17 帮助过:27人阅读

。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会受到严重的影响。需要有超时时间。

2)异步复制

  MySQL默认的复制即是异步的。主库执行完客户端提交的事务后会立即将结束返回给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。

3)半同步复制

  介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relaylog中返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延迟时的网络中使用。

注:通过程序代码实现mysql读写分离自然是一个不错的选择,但是并不是所有的应用都适合在程序代码中实现读写分离,像一些大型复杂的java应用,如果在程序代码中实现读写分离对代码改动就较大,像这种应用一般会考虑使用代理层来实现。

 

mysql读写分离

标签:读写   应用   基础   基本   客户   tcp   写入   提升   系统   

人气教程排行