mysql 异步 同步 不支持,Mysql 异步/同步/半同步复制
Mysql復制
異步
邏輯
MySQL 默認的復制就是異步的,主庫再執行完客戶端提交的事務后會立即將結果返回給客戶端,并不關系從庫是否已經接收和處理。
技術實現
MySQL主庫將Binlog事件寫入到Binlog文件中,此時主庫只通知一下Dump線程發送這些新的Binlog,然后主庫繼續處理提交操作,不會保證這些Binlog傳到任何一個從庫節點上。
缺點
因為異步復制,主節點不關從節點是否收到Binlog,如果主crash掉了,此時主節點上已提交的事務可能并沒有傳到從庫上,如果此時,強行將從節點提升為主節點,可能導致新的主節點上數據不完整。
全同步
邏輯
全同步是指當主庫接收到客戶端的一個事務請求,所有的從庫都執行了該事務才返回給客戶端。
技術實現
當主庫收到客戶端提交的事務后,所有的從庫必須收到并且執行事務,然后主庫才會執行后續操作。
缺點
因為要等待所有從庫執行完事務,主庫才將結果返回給客戶端,所以全同步復制的性能必然受到嚴重影響,即完成一個事務的時間被拉長,性能降低。
半同步
邏輯
半同步復制是介于全同步復制和全異步復制之間的一種,主庫只需要等待至少一個從庫節點收到并Flush Binlog到Relay log文件即可,主庫不需要等待所有從庫給主庫反饋。(注意只要收到一個從庫的反饋即可)
技術實現
介于異步復制和全同步復制之間,主庫再執行完客戶端提交的食物后不是立刻返回給客戶端,而是等待至少一個從庫接收到并寫到relay log中才返回給客戶端。
缺點
相對于異步復制,半同步復制提交了數據的安全性,同時它也造成了一定程序的延遲,這個延遲至少是一個TCP/IP往返時間,因此,半同步復制雖好在低延時的網絡中使用。
XMind - Trial Version
總結
以上是生活随笔為你收集整理的mysql 异步 同步 不支持,Mysql 异步/同步/半同步复制的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Strus2中关于ValueStack详
- 下一篇: Python 中的range,以及num
