因爲之前做的drbd+mysql+Heartbeat。感覺高可用做的不夠徹底。就瞭解下Amoeba。
下載:http://sourceforge.net/projects/amoeba/files/
Amoeba功能:代理。
Amoeba for MySQL致力於MySQL的分佈式數據庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專注分佈式數據庫 proxy 開發。座落與Client、DB 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只需要進行相關的配置就可以滿足需求。
安裝:
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
b. 配置讀寫分離規則:vim conf/amoeba.xml
啓動測試:
[root@server4 bin]#amoeba start
測試的時候我的Mysql主從剛好沒有同步,這樣測試的時候.寫在Master,讀在SLAVE。就比較容易看出來!