利用mysql的主從複製可以有效的分流更新操作和查詢操作,具體的實現是乙個主伺服器,承擔更新操作,多台從伺服器,承擔查詢操作,主從之間通過複製實現資料的同步。多台從伺服器一方面用來確保可用性,一方面可以建立不同的索引滿足不同查詢的需要。
對於主從之間不需要複製全部表的情況,可以通過在主的伺服器上搭建乙個虛擬的從伺服器,將需要複製到從伺服器的表設定成blackhole引擎,然後定義replicate-do-table引數只複製這些表,這樣就過濾出需要複製的binlog,減少了傳輸binlog的頻寬。因為搭建的虛擬的從伺服器只起到過濾binlog的作用,並沒有實際紀錄任何資料,所以對主資料庫伺服器的效能影響也非常的有限。
通過複製分流查詢的存在的問題是主資料庫上更新頻繁或者網路出現問題的時候,主從之間的資料可能存在差異,造成查詢結果的異議,應用在設計的時候需要有所考慮。
mysql從5.0.3開始支援分布式事務,當前分布式事務只對innodb儲存引擎支援。分布式的資料庫架構適合大資料量,負載高的情況,有良好的擴充套件性和高可用性。通過在多台伺服器之間分布資料實現在多台伺服器之間的負載平均,提高了訪問的執行效率。具體實現的時候,可以使用mysql的cluster功能(ndb引擎)或者自己編寫程式來實現全域性事務。
mysql負載均衡
一 docker安裝haproxy docker pull haproxy global 工作目錄 chroot usr local etc haproxy 日誌檔案,使用rsyslog服務中local5日誌裝置 var log local5 等級info log 127.0.0.1 local5 ...
mysql負載均衡筆記
mysql 雙機集群 rhel 4上做mysql負載均衡 sysbench壓力測試工具 centos 5.2安裝負載均衡 需要的rpm包 mysql cluster gpl client 6.3.20 0.rhel5.i386.rpm mysql的客戶端 mysql cluster gpl serv...
mysql負載均衡群集筆記
首先在這裡感謝51cto上的一位朋友,我是在他的文件幫助下,完成這個服務的,由於不知道姓名所以這樣了,謝謝 ndb mgmd mgm 1 node s id 1 10.0.0.95 version 4.1.9 mysqld api 2 node s id 4 version 4.1.9 id 5 v...