使用amoeba實現mysql讀寫分離
阿新 • • 發佈:2022-05-09
1、什麼是amoeba?
Amoeba(變形蟲)專案,專注 分散式資料庫 proxy 開發。座落與Client、DB Server(s)之間。對客戶端透明。具有負載均衡、高可用性、sql過濾、讀寫分離、可路由相關的query到目標資料庫、可併發請求多臺資料庫合併結果。
主要解決:
• 降低 資料切分帶來的複雜多資料庫結構
• 提供切分規則並降低 資料切分規則 給應用帶來的影響
• 降低db 與客戶端的連線數
• 讀寫分離
2、為什麼要用Amoeba
目前要實現mysql的主從讀寫分離,主要有以下幾種方案:
1、 通過程式實現,網上很多現成的程式碼,比較複雜,如果新增從伺服器要更改多臺伺服器的程式碼。
2、 通過mysql-proxy來實現,由於mysql-proxy的主從讀寫分離是通過lua指令碼來實現,目前lua的指令碼的開發跟不上節奏,而寫沒有完美的現成的指令碼,因此導致用於生產環境的話風險比較大,據網上很多人說mysql-proxy的效能不高。
3、 自己開發介面實現,這種方案門檻高,開發成本高,不是一般的小公司能承擔得起。
4、 利用阿里巴巴的開源專案Amoeba來實現,具有負載均衡、高可用性、sql過濾、讀寫分離、可路由相關的query到目標資料庫,並且安裝配置非常簡單。國產的開源軟體,應該支援,目前正在使用,不發表太多結論,一切等測試完再發表結論吧,哈哈!
3、amoeba安裝
1、首先安裝jdk,直接使用rpm包安裝即可
2、下載amoeba對應的版本https://sourceforge.net/projects/amoeba/,直接解壓即可
3、配置amoeba的配置檔案
dbServers.xml