來源於網上整理 http://yanwt.iteye.com/blog/1460780前端
現有三種解決方式實現mysql讀寫分離
1 程序修改mysql操做類
優勢:直接和數據庫通訊,簡單快捷的讀寫分離和隨機的方式實現的負載均衡,權限獨立分配
缺點:本身維護更新,增減服務器在代碼處理 mysql
2 amoeba
參考官網:http://amoeba.meidusa.com/
優勢:直接實現讀寫分離和負載均衡,不用修改代碼,有很靈活的數據解決方案
缺點:本身分配帳戶,和後端數據庫權限管理獨立,權限處理不夠靈活
Amoeba for MySQL
Amoeba for MySQL致力於MySQL的分佈式數據庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專一 分佈式數據庫 proxy 開發。座落與Client、DB Server(s)之間。對客戶端透明。具備負載均衡、高可用性、Query過濾、讀寫分離、可路由相關的query到目標數據庫、可併發請求多臺數據庫合併結果。 在Amoeba上面你可以完成多數據源的高可用、負載均衡、數據切片的功能。目前在不少企業的生產線上面使用。
3 mysql-proxy
參考 mysql-proxy。
優勢:直接實現讀寫分離和負載均衡,不用修改代碼,master和slave用同樣的賬號
缺點:字符集問題,lua語言編程,還只是alpha版本,時間消耗有點高 sql
若是你能夠安裝軟件,那amoeba是不錯的,mysql-proxy不太建議,目前只有alpha版本,效率還不太理想,amoeba目前在阿里巴巴是內部項目,正在生產環境使用的。 數據庫
4.採用mycat中間件方式編程