Amoeba for MySQL 中間件


 

 

來源:http://docs.hexnova.com/amoeba/

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

那么Amoeba for mysql 對客戶端程序來說是什么呢? 我們就當它是mysql吧,它是一個虛擬的mysql,對外提供mysql協議。客戶端連接amoeba就象連接mysql一樣。在amoeba內部需要配置相關的認證屬性。具體請參閱后面的章節。

 

Amoeba for Mysql 與MySQL Proxy比較

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

Amoeba不能做什么?

  • 目前還不支持事務
  • 暫時不支持存儲過程(近期會支持)
  • 不適合從amoeba導數據的場景或者對大數據量查詢的query並不合適(比如一次請求返回10w以上甚至更多數據的場合)
  • 暫時不支持分庫分表,amoeba目前只做到分數據庫實例,每個被切分的節點需要保持庫表結構一致


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM