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

用Amoeba構架MySQL分布式數(shù)據(jù)庫環(huán)境

系統(tǒng) 3014 0

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

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

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

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

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

用Amoeba構架MySQL分布式數(shù)據(jù)庫環(huán)境


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大厂| 阿拉善盟| 克什克腾旗| 元阳县| 开阳县| 双流县| 揭阳市| 都江堰市| 万全县| 呼伦贝尔市| 右玉县| 馆陶县| 会宁县| 景洪市| 吉木乃县| 渑池县| 蒲城县| 鄂尔多斯市| 汶川县| 峨边| 霍州市| 神池县| 乐昌市| 千阳县| 景东| 峨边| 工布江达县| 乌审旗| 佳木斯市| 旌德县| 玛多县| 富川| 新竹市| 金平| 理塘县| 临颍县| 乌恰县| 沙坪坝区| 苍梧县| 盖州市| 大竹县|