使用Consul和ProxySQL實現MySQL HA讀寫分離高可用性
本文討論如何基於 ProxySQL, Consul, 和Master High Availability (MHA)實現MySQL讀寫分離的高可用性。
Consul是用於分散式系統中服務發現和配置,如果有伺服器機器當機,Consul就不會再將請求傳送到這臺機器,這裡用作MySQL的負載平衡器。
MHA能夠檢查MySQL備份的健康情況並監視,執行失敗恢復。
SQLProxy允許同時連線n個資料庫,進行統一管理。而對於客戶端來講,它看到的只是由SQLProxy表現出來的一個虛擬資料庫服務。客戶端只需要連線此SQLProxy虛擬的IP和埠,就能象訪問普通資料庫那樣進行操作。
SQLProxy最大的特色是能夠對訪問資料庫的事務(Transaction)進行併發地處理:當接收到插入、修改、更新等事務操作時,它同時將這個事務(Transaction)傳送到後面連線的n臺資料庫上,這樣n臺資料庫中的資料同時得到了更新;由於在任何時刻,SQLProxy後面連線的n臺資料庫的資料是完全一致的,因此當接收到查詢操作時,整個資料庫系統可以實現負載均衡(Load Balance),由此達到客戶訪問負荷的動態分擔,提高整個系統的響應能力。
下面是配置Consul + ProxySQL + MHA + MySQL步驟:
在生產環境,Consul最少是3個例項,在應用伺服器執行一個Consul,在兩個ProxySQL伺服器(mysql1和備份mysql2)扮演與ProxySQL扮演高可用性的一對黃金組合。
詳細配置安裝見原文:
Consul是用於分散式系統中服務發現和配置,如果有伺服器機器當機,Consul就不會再將請求傳送到這臺機器,這裡用作MySQL的負載平衡器。
MHA能夠檢查MySQL備份的健康情況並監視,執行失敗恢復。
SQLProxy允許同時連線n個資料庫,進行統一管理。而對於客戶端來講,它看到的只是由SQLProxy表現出來的一個虛擬資料庫服務。客戶端只需要連線此SQLProxy虛擬的IP和埠,就能象訪問普通資料庫那樣進行操作。
SQLProxy最大的特色是能夠對訪問資料庫的事務(Transaction)進行併發地處理:當接收到插入、修改、更新等事務操作時,它同時將這個事務(Transaction)傳送到後面連線的n臺資料庫上,這樣n臺資料庫中的資料同時得到了更新;由於在任何時刻,SQLProxy後面連線的n臺資料庫的資料是完全一致的,因此當接收到查詢操作時,整個資料庫系統可以實現負載均衡(Load Balance),由此達到客戶訪問負荷的動態分擔,提高整個系統的響應能力。
下面是配置Consul + ProxySQL + MHA + MySQL步驟:
在生產環境,Consul最少是3個例項,在應用伺服器執行一個Consul,在兩個ProxySQL伺服器(mysql1和備份mysql2)扮演與ProxySQL扮演高可用性的一對黃金組合。
詳細配置安裝見原文:
Consul, ProxySQL, and MySQL HA - DZone Database
[該貼被banq於2016-09-25 18:41修改過]
[該貼被banq於2016-09-25 18:42修改過]
相關文章
- ProxySQL實現MySQL讀寫分離MySql
- MHA+ProxySQL實現讀寫分離高可用SQL
- ProxySQL實現Mysql讀寫分離 - 部署手冊MySql
- 使用ProxySQL實現MySQL Group Replication的故障轉移、讀寫分離(一)MySql
- 【DB寶42】MySQL高可用架構MHA+ProxySQL實現讀寫分離和負載均衡MySql架構負載
- PostgreSQL+Pgpool實現HA讀寫分離SQL
- 使用proxysql 1.4.14中介軟體實現mysql 5.7.26主從的讀寫分離MySql
- Amoeba 實現 MySQL 讀寫分離MySql
- MySQL中介軟體之ProxySQL(3):初試讀寫分離MySql
- Amoeba+Mysql 實現讀寫分離MySql
- mysql-proxy實現讀寫分離MySql
- Orchestrator+Proxysql 實現自動導換+應用透明讀寫分離SQL
- MySQL怎麼實現主從同步和Django實現MySQL讀寫分離MySql主從同步Django
- docker+atlas+mysql實現讀寫分離DockerMySql
- Mysql 高可用(MHA)-讀寫分離(Atlas)MySql
- MysqL讀寫分離的實現-Mysql proxy中介軟體的使用MySql
- ProxySQL簡介原理及讀寫分離應用SQL
- Centos8.3、proxysql2.0讀寫分離實戰記錄CentOSSQL
- MySQL Fabric使用介紹01——高可用性HAMySql
- 搭建MySQL主從實現Django讀寫分離MySqlDjango
- MySQL 中介軟體Atlas 實現讀寫分離MySql
- redis客戶端實現高可用讀寫分離Redis客戶端
- Amoeba實現讀寫分離
- Linux下MySQL主從複製(GTID)+讀寫分離(ProxySQL)-實施筆記LinuxMySql筆記
- proxysql配置讀寫分離策略和權重調整一例SQL
- Mycat實現mysql的負載均衡讀寫分離MySql負載
- Spring配置RoutingDataSource實現mysql讀寫分離SpringMySql
- mysql proxy 安裝及配置實現讀寫分離MySql
- Kubernetes 中實現 MySQL 的讀寫分離MySql
- ProxySQL+MGR實現讀寫分離和主節點故障無感知切換 - 完整操作記錄SQL
- MySQL Proxy 實現 MySQL 讀寫分離提高併發負載MySql負載
- CQRS如何實現讀寫分離
- mysql讀寫分離的最佳實踐MySql
- MySQL Amoeba讀寫分離MySql
- Amoeba for mysql讀寫分離MySql
- MySQL讀寫分離AtlasMySql
- CentOS7系統下使用Mycat實現mysql讀寫分離部署CentOSMySql
- Mycat中介軟體實現Mysql主從讀寫分離MySql