日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用Amoeba構架MySQL分布式數據庫環境

系統 3067 0

Amoeba是一個類似 MySQL Proxy 的 分布式數據庫中間代理層軟件,是由陳思儒開發的一個開源的java項目。其主要功能包括讀寫分離,垂直分庫,水平分庫等,經過測試,發現其功能和穩定性都 非常的不錯,如果需要構架分布式數據庫環境,采用Amoeba是一個不錯的方案。目前Amoeba一共包括For aladdin,For MySQL和For Oracle三個版本,本文主要關注For MySQL版本的一個讀寫分離實現。實際上垂直切分和水平切分的架構也相差不大,改動幾個配置就可以輕松實現。

下圖是一個采用Amoeba的讀寫分離技術結合MySQL的Master-Slave Replication的一個分布式系統的架構:
amoeba_mysql

Amoeba處于在應用和數據庫之間,扮演一個中介的角色,將應用傳遞過來的SQL語句經過分析后,將寫的語句交給Master庫執行,將讀的語句 路由到Slave庫執行(當然也可以到Master讀,這個完全看配置)。Amoeba實現了簡單的負載均衡(采用輪詢算法)和Failover。如果配 置了多個讀的庫,則任何一個讀的庫出現宕機,不會導致整個系統故障,Amoeba能自動將讀請求路由到其他可用的庫上,當然,寫還是單點的依賴于 Master數據庫的,這個需要通過數據庫的切換,或者水平分割等技術來提升Master庫的可用性。

Amoeba可以在不同機器上啟動多個,并且做同樣的配置來進行水平擴展,以分擔壓力和提升可用性,可以將Amoeba和MySQL裝在同一臺機 器,也可以裝在不同的機器上,Amoeba本身不做數據緩存,所以對于內存消耗很少,主要是CPU占用。對于應用來說,圖中的三個Amoeba就是三臺一 模一樣的MySQL數據庫,連接其中任何一臺都是可以的,所以需要在應用端有一個Load balance和Failover的機制,需要連接數據庫時從三臺中隨機挑選一臺即可,如果其他任何一臺出現故障,則可以自動Failover到剩余的可 用機器上。MySQL的JDBC驅動從connector-j 3.17版本起已經提供了這樣的負載均衡和故障切換的功能,那么剩下的事情對于應用來說就很簡單了,不需要做太多的改動就能搭建一套高可用的MySQL分 布式數據庫環境,何樂而不為?

參考鏈接:
Amoeba開發者博客
Amoeba下載
Amoeba文檔
JavaEye上關于Amoeba的討論貼

用Amoeba構架MySQL分布式數據庫環境


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 正蓝旗| 灌云县| 沂南县| 金平| 军事| 淳化县| 龙州县| 宜州市| 嘉祥县| 北碚区| 九寨沟县| 金川县| 佛教| 宣化县| 抚顺市| 嘉祥县| 威宁| 班玛县| 定州市| 镇巴县| 阿拉尔市| 平阴县| 巴林左旗| 四平市| 青岛市| 酉阳| 宜章县| 东平县| 旅游| 乌兰察布市| 西贡区| 同江市| 临漳县| 斗六市| 大冶市| 阿坝县| 祁门县| 沛县| 庆阳市| 延边| 佛山市|