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

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

系統(tǒng) 3307 0

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

下圖是一個采用Amoeba的讀寫分離技術(shù)結(jié)合MySQL的Master-Slave Replication的一個分布式系統(tǒng)的架構(gòu):
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ù)庫的切換,或者水平分割等技術(shù)來提升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上關(guān)于Amoeba的討論貼

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黎川县| 怀仁县| 乌鲁木齐市| 周口市| 新泰市| 台南县| 特克斯县| 交口县| 彩票| 靖远县| 华坪县| 柳江县| 义马市| 同德县| 孝感市| 台北县| 宁津县| 肥西县| 昭觉县| 安徽省| 辉县市| 宁南县| 浏阳市| 安阳县| 德惠市| 宜城市| 项城市| 通城县| 商河县| 鹰潭市| 鄱阳县| 玉田县| 文成县| 东台市| 新绛县| 临夏市| 安仁县| 花莲县| 常熟市| 山丹县| 仪征市|