openGauss DCF

奔跑的数据库發表於2024-03-19

DCF

可獲得性

本特性自openGauss 2.0.0版本開始引入。

特性簡介

DCF(Distributed Consensus Framework,分散式共識框架)基於Paxos演算法實現資料同步強一致。DCF模式開關開啟後,DN可以支援基於Paxos協議的複製與仲裁能力。

客戶價值

DN基於Paxos的自選主及日誌複製,複製過程中支援壓縮及流控,防止頻寬佔用過高。使用DCF可以提供日誌複製、叢集高可用等能力。DCF提供了自選主能力,支援少數派強起能力,日誌複製支援動態流量調整。同時也提供了基於Paxos多種角色節點型別,並能進行調整。支援查詢當前資料庫例項的狀態。

DCF是一款高效能、高度成熟可靠、易擴充套件、易使用的獨立基礎庫,其他系統透過介面與DCF簡單對接,就能夠輕鬆擁有Paxos演算法賦予的強一致、高可用、自動容災等能力。

特性描述

  • DCF進行日誌複製時,支援對日誌進行壓縮後再傳輸,減小對網路頻寬的佔用。
  • DCF支援SSL,包括TLS1.2和TLS1.3協議標準。當開啟SSL時,DN預設將DCF配置為TLS1.2協議標準。
  • DCF支援5種TLS1.3的密碼套件:TLS13-AES-256-GCM-SHA384、TLS13-CHACHA20-POLY1305-SHA256、TLS13-AES-128-GCM-SHA256、TLS13-AES-128-CCM-8-SHA256、TLS13-AES-128-CCM-SHA256。
  • DCF支援passive角色節點型別,passive節點不參與選舉,只做日誌的同步以及回放,該型別節點在高負載的情況下,日誌同步會做流控。
  • DCF支援logger角色節點,logger節點可以參與選舉和投票,但是隻複製DCF的日誌,不復制xlog,不進行redo。
  • DCF的follower和passive角色可以線上互換,即不中斷業務的情況下,follower角色的節點轉化為passive角色,passive角色的節點轉化為follower。
  • DCF支援少數派強起能力,在資料庫例項多數派故障的情況下,從正常的備DN中選擇少數派模式強啟成為主DN,其餘正常的備DN從主DN複製日誌。
  • DCF支援自選主能力,在原主DN故障的場景下,在保證資料一致性的前提下,剩餘備DN自動選出新的主DN。
  • DCF支援策略化多數派能力,以多數派為前提,同時根據使用者配置的AZ,保證AZ內至少有一個節點同步複製日誌。
  • DCF支援手動模式,在手動模式下不自動仲裁,此模式下對接上層CM等管理元件做仲裁適配,DCF進行日誌複製功能。
  • 支援DCF日誌與DN日誌合一儲存,DCF多數派達成和DN僅儲存一份日誌,減少IO頻寬佔用,日誌合一後日志刷盤的IO開銷比兩份日誌下降20%+,最佳化效能。
  • 支援從Quorum模式切換到DCF模式,以及從DCF模式恢復到Quorum模式。切換過程中不需要重啟資料庫,做到資料不丟失,不影響業務。

特性增強

無。

特性約束

若使用此功能,DN最少三節點,在安裝部署階段需要開啟DCF開關。在DCF模式下透過多數派選舉,安裝過程中如果故障節點數加build節點數達到多數派會導致叢集安裝失敗,如在安裝一主兩備時,安裝過程中一節點因記憶體不足導致安裝失敗,另外兩節點正常啟動,但隨後備機會進行一次build,這時build節點加故障節點為2,達到多數派會導致叢集安裝失敗,請在安裝過程中檢查記憶體和磁碟等資源是否充足。

若某個AZ配置了策略化多數派引數,當AZ內所有的節點均故障後,在對節點執行build相關的操作時,需要將該AZ配置從策略化多數派配置資訊中移除。

與Quorum相比,DCF模式不支援的功能有:

  1. 不支援雙叢集容災(不支援級聯備)
  2. 不支援已有Quorum複製到DCF複製模式的線上升級
  3. 不支援備機讀
  4. 不支援第三方仲裁(CM仲裁)
  5. 不支援自動降副本
  6. 不支援增量build

依賴關係

無。

相關文章