Amoeba實現mysql讀寫分離

因爲之前做的drbd+mysql+Heartbeat。感覺高可用做的不夠徹底。就瞭解下Amoeba。


下載:http://sourceforge.net/projects/amoeba/files/

 

  • Amoeba功能:代理。

Amoeba for MySQL致力於MySQL的分佈式數據庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專注分佈式數據庫 proxy 開發。座落與ClientDB Server(s)之間。對客戶端透明。具有負載均衡、高可用性、Query過濾、讀寫分離、可路由相關的query到目標數據庫、可併發請求多臺數據庫合併結果。Amoeba上面你能夠完成多數據源的高可用、負載均衡、數據切片的功能。目前在很多企業的生產線上面使用。

  • Amoeba for Mysql MySQL Proxy比較

MySQL proxy 6.0版本 上面如果想要讀寫分離並且 讀集羣、寫集羣 機器比較多情況下,用mysql proxy需要相當大的工作量,目前mysql proxy沒有現成的 lua腳本。mysql proxy根本沒有配置文件, lua腳本就是它的全部,當然lua是相當方便的。那麼同樣這種東西需要編寫大量的腳本才能完成一個複雜的配置。而Amoeba for Mysql只需要進行相關的配置就可以滿足需求。

wKioL1Wxyv7RhK0vAAKt0tvUXlY858.jpg 

  • 安裝:

Jdk環境搭建:運行jdk-6u26-linux-i586.bin
設環境變量:[root@server4~]# tail /etc/profile
exportJAVA_HOME=/usr/java/jdk1.6
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
  • 讀寫分離配置:

     a. 配服務器資源vim dbServers.xml

wKioL1WxyxfDcjIyAARo9oPGfa4906.jpg

 b. 配置讀寫分離規則:vim conf/amoeba.xml


wKioL1Wxyz-BefgDAALNVYqVujI314.jpg

wKiom1WxyV7w8fSCAADQ935jt7I174.jpg

  • 啓動測試:

[root@server4 bin]#amoeba  start

 測試的時候我的Mysql主從剛好沒有同步,這樣測試的時候.寫在Master,讀在SLAVE。就比較容易看出來!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章