Gizzard:推ter開源數據切分中間件

openkk 12年前發布 | 19K 次閱讀 Twitter 數據庫服務器

    Gizzard是推ter在11年4月份新推出的一個通用數據切分中間件,在推ter的架構中占用重要的作用。

        從圖中看到Gizzard主要用于在MYSQL之上,作用是實現數據切分。但目前據說 Gizzard最主要的作用在用于在memcache和redis上。眾所周知,memcache和redis本身缺少(或者實現較弱)主從同步機制。在 這里Gizzard的作用就不僅僅是數據切分,還有備份多寫、異常隊列等多項功能。

        Gizzard:推ter開源數據切分中間件

        官方介紹如下:

Gizzard: a library for creating distributed datastores

         按照官方翻譯是:一個用于創建分布式存儲數據的庫。但從功能上來說,Gizzard更適合叫做一個通用的數據切分中間庫。如下圖所示

        Gizzard:推ter開源數據切分中間件

        Gizzard的主要功能如下:

        ①支持不同的底層數據存儲。Redis/Memcache/Mysql等都支持,原則上只要寫操作冪等(也就是寫操作與順序無關)則都可以支持。

        ②通用數據拆分支持。支持一致性hash、主鍵mod、自定義拆分函數等多種方式。

        ③通過replication tree實現不同節點數據的備份機制。

        ④容錯機制。在一臺機器出問題后,會自動保存更新延遲隊列,在恢復后重新執行,從而保證一致性。

        ⑤快速的遷移。

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!