Amoeba詳細介紹

2021-09-08 01:29:25 字數 747 閱讀 3786

amoeba的中文意思是變型蟲

amoeba是乙個以mysql為底層資料儲存,並對應用提供mysql協議介面的proxy。它集中地響應應用的請求,依據使用者事先設定的規則,將sql請求傳送到特定的資料庫上執行。基於此可以實現負載均衡、讀寫分離、高可用性等需求。與mysql官方的mysql proxy相比,作者強調的是amoeba配置的方便(基於xml的配置檔案,用sqljep語法書寫規則,比基於lua指令碼的mysql proxy簡單)。

amoeba相當於乙個sql請求的路由器, 目的是為負載均衡、讀寫分離、高可用性提供機制,而不是完全實現它們。使用者需要結合使用mysql的 replication等機制來實現副本同步等功能。amoeba對底層資料庫連線管理和路由實現也採用了可插撥的機制,第三方可以開發更高階的策略類來 替代作者的實現。這個程式總體上比較符合kiss原則的思想。

主要解決:

• 降低 資料切分帶來的複雜多資料庫結構

• 提供切分規則並降低 資料切分規則 給應用帶來的影響

• 降低db 與客戶端的連線數

• 讀寫分離

不足之處:

a)、目前還不支援事務

b)、暫時不支援儲存過程(近期會支援)

c)、不適合從amoeba導資料的場景或者對大資料量查詢的query並不合適(比如一次請求返回10w以上甚至更多資料的場合)

d)、暫時不支援分庫分表,amoeba目前只做到分資料庫例項,每個被切分的節點需要保持庫表結構一致:

垂直切割+水平切割

robots txt詳細介紹

robots.txt基本介紹 當乙個搜尋機械人 有的叫搜尋蜘蛛 訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機械人就會按照該檔案中的內容來確定訪問的範圍 如果該檔案不存在,那麼搜尋機械人就沿著鏈結抓取。另外,robots.txt必須放置在乙個站點的根目錄下,...

nginx phases 詳細介紹

我們知道,nginx 請求分為下面幾個階段 下面對這些過程詳細介紹 一 ngx http post read phase do nothing 二 ngx http server rewrite phase do nothing 三 ngx http find config phase 根據請求的位...

NSString詳細介紹

字串是程式設計最常用的資料型別之一了。在mac iphone程式設計中,蘋果為我們提供了乙個不同的字串型別nsstring。有別與普通的string為資料型別,nsstring其實是乙個物件型別。nsstring是nsobject cocoa foundation的基礎物件 的子類,所以具有nsob...