Gelera的簡單概述

Gelera的簡單概述

Galera Cluster是由第三方公司Codership 所研發的一套免費開源的集羣高可用方案,實現了數據零丟失,
官網地址爲http://galeracluster.com/。其在MySQL InnoDB存儲引擎 基礎上打了 wsrep(寫集複製),Percona/MariaDB 已捆綁在各自的發行版本中。

MariaDB Galera Cluster是MariaDB 多主機同步集羣。它僅支持XtraDB/InnoDB存儲引擎

支持和應用的廠商 : percona (PXC Percona XtraDB Cluster) mariadb (MariaDB Galera Cluster )

http://releases.galeracluster.com/mysql-wsrep-5.7/redhat/7/x86_64/
https://downloads.mariadb.org/mariadb-galera/10.0.11/
https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/

Galera Cluster
Galera Cluster是MariaDB的一個雙活多主集羣,當前最新版本10.0.30,其可以使得 MariDB 的所有節點保持同步,
Galera爲MariaDB提供了 同步複製(相對於原生的異步複製),因此其可以保證HA,
且其當前僅支持 XtraDB/InnoDB存儲引擎(擴展支持 MyISAM),並且 只可在 Linux下 使用。

Galera Cluster擁有以下特性:

• 真正的多主架構,任何節點都可以進行讀寫
• 同步複製,各節點間無延遲且節點宕機不會導致數據丟失
• 緊密耦合,所有節點均保持相同狀態,節點間無不同數據
• 無需主從切換操作或使用 VIP
• 熱Standby,在Failover過程中無停機時間(由於不需要 Failover)
• 自動節點配置,無需手工備份當前數據庫,並拷貝至新節點
• 支持InnoDB存儲引擎
• 對應用透明,無需更改應用或是進行極小的更改
• 無需進行讀寫分離
• 集羣擴展性強,可以自適應的增加 或者 下線節點:

新節點上線時,可以空庫狀態直接從集羣中獲取  全量數據傳輸(SST),
也可以選擇從恢復最新備份狀態加入集羣,獲取  差量數據傳輸(IST)

下線維護其中一個節點時,直接關閉實例,集羣就會自動踢出這個節點。
維護完畢上線後,會根據自身 數據與集羣數據的落後程度決定通過  SST 或者  IST 傳輸數據。

缺點 與侷限

l  加入新節點時開銷大,需要複製完整的數據

l 不能有效地解決寫擴展的問題,所有的寫操作都發生在所有的節點
l 有多少個節點,就有多少份重複的數據 ## 無共享數據,高冗餘 =====》 #高可用,安全
l 由於事務提交需要跨節點通信,即涉及分佈式事務操作,因此寫入會比 傳統的主從複製慢很多,節點越多,寫入越慢,死鎖和回滾也會更加頻繁
l 對網絡要求比較高,如果網絡出現波動不穩定,則可能會造成兩個節點失聯,Galera Cluster 集羣會發生 腦裂,服務將不可用

侷限:=========================================

l 僅支持InnoDB/XtraDB存儲引擎,任何寫入其他引擎的表,包括mysql.*表都不會被複制。
但是 DDL語句可以複製,但是insert into mysql.user (MyISAM存儲引擎) 之類的插入數據不會被複制
l Delete 操作不支持沒有主鍵的表,因爲沒有主鍵的表在不同的節點上的順序不同,如果執行select … limit …將出現不同的結果集
l LOCK/UNLOCK TABLES/FLUSH TABLES WITH READ LOCKS 不支持單表鎖,以及鎖函數GET_LOCK()、RELEASE_LOCK(),
但FLUSH TABLES WITH READ LOCK 支持全局表鎖
l General Query Log 日誌不能保存在表中,如果開啓查詢日誌,則只能保存到文件中
l 不能有大事務寫入,不能操作 wsrep_max_ws_rows=131072(行),且寫入集不能超過 wsrep_max_ws_size=1073741824 (1GB),否則客戶端直接報錯
l 由於集羣是樂觀鎖併發控制,因此,在 commit 階段會有事務衝突發生。如果兩個事務在集羣中的不同節點上對同一行寫入並提交,
則失敗的節點將回滾,客戶端返回死鎖報錯
l 整個集羣的寫入吞吐量取決於 最弱的節點限制,集羣要使用同一的配置
l DDL 操作會嚴重阻塞同步線程,線上大動作 DDL 會導致有可能導致節點堵塞無響應,更進一步會導致
部分節點下線。 實際使用中需要搭配 pt-osc 或者 gh-osc 等在線DDL工具來進行操作DDL。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章