抗逆力的最佳實務

本主題概述當 Oracle Blockchain Platform 企業資源配置執行處理的單一虛擬機器 (VM) 離線進行維護或意外失敗時,持續運作的最佳做法。

下列步驟僅適用於以企業資源配置 (不是標準資源配置) 為基礎的 Oracle Blockchain Platform 執行處理。此外,此指引僅適用於下列部署模型:
  • 單一創始組織
  • 具有一或多個參與者組織的創始人
由於以標準資源配置為基礎的 Oracle Blockchain Platform 執行處理在單一 VM 上執行所有元件 (對等、訂購者和平台服務),因此當 VM 失敗或必須停止以進行維護時,整個執行處理便無法使用。可用性網域或容錯域之間並無隔離。請勿在生產環境使用以標準資源配置為基礎的執行處理。

請改用以 Enterprise 資源配置為基礎的執行處理來進行生產環境。這些執行處理會獨立調整 Hyperledger Fabric 元件和更高的容量組態。企業資源配置執行處理會自動將對等體、排序器及平台元件分散到各個可用性網域和容錯域,以提供基礎架構層次的容錯隔離。若要利用此行為並確保高可用性,請使用下列各節中所述的最佳實務。

背書原則

對於具有單一 (創始人) 組織的網路,請使用允許任何可用對等體背書交易的背書原則,例如 OR('Founder.member')OutOf(1, 'Founder.member')。為創始組織部署至少兩個同儕。

對於具有創始者和一個參與者組織的網路,通常您可以使用下列原則:OutOf(1, 'Founder.member', 'Participant1.member')。對於更嚴格的組態,只有在冗餘存在時,才能使用 OutOf(2, 'Founder.member', 'Participant1.member')。除非兩個組織都有足夠的對等冗餘,否則請避免嚴格的原則,例如 AND('Founder.member', 'Participant1.member')

如需詳細資訊,請參閱指定背書原則

對等部署

每個組織至少部署兩個同儕。Oracle Blockchain Platform 會自動將對等分散到可用性網域和容錯域,以確保 VM 失敗後,至少會保留一個對等。

私人資料收集

如果您使用專用資料集合,請將需要對等值 (requiredPeerCount) 設為一或多個值,然後將專用資料集合定義中的對等計數上限值 (maxPeerCount) 設為兩個以上的值。確定每個專用資料收集至少有兩個對等體為成員,且至少兩個對等體會確認專用資料。需要對等值是將交易提案視為完成之前,必須成功接收私人資料的對等 (背書對等) 數目下限。

若為跨組織專用資料收集,請將必要的對等計數設定為大於單一組織的對等數目,並確保跨多個組織和 VM 進行分配。

如需詳細資訊,請參閱新增私人資料集合

靠左訂購服務

使用預設的三節點 Raft 訂購服務。Oracle Blockchain Platform 會跨可用性網域和容錯域分配訂購者,讓訂購服務能夠處理單一節點故障。

錨點對等

在具有多個組織的網路中,每個組織至少設定一個錨點對等。若要提升韌性,請至少為每個組織設定兩個錨點對等。只有當網路中有多個 Oracle Blockchain Platform 組織執行處理存在時,才需要定錨點對等,因為它們會在不同組織間啟用以 gossip 為基礎的通訊和對等探索。

如需詳細資訊,請參閱新增錨點對等

鏈碼部署

為了確保在對等無法使用時保持連續性,請在每個組織至少兩個對等上安裝並核准鏈碼。如果您的隱私權需求允許的話,您可以將這些部署分散到網路中的 Oracle Blockchain Platform 執行處理。

用戶端連線

將用戶端應用程式設定為絕不閂鎖至特定對等。請改為允許基礎從屬端程式庫處理對等選項。

備用狀態資料庫

狀態資料庫儲存在對等連接之所有通道的每個對等上。如果 VM 失敗,則在回復對等資料庫之前,該對等上的本機狀態資料庫會變成無法使用。Oracle Blockchain Platform 支援混合式狀態資料庫模型,外部 Oracle Database 可作為後備 (次要) 狀態資料庫。當備用狀態資料庫啟用時,狀態資料會保存在資料庫中的對等 VM 之外,而資料庫中的狀態資料可以視需要接管為主要狀態資料庫,從而提高持久性和復原能力。

請完成下列步驟,以使用此功能來提升韌性。
  • 啟用生產環境工作負載或重要工作負載的備用狀態資料庫
  • 獨立部署 Oracle Database 與對等 VM。
  • 設定 Oracle Database 以提供高可用性。
只要採取這些步驟,您就可以確保狀態資料不會繫結至單一 VM 的生命週期。在單一 VM 失敗的情況下,備用狀態資料庫可與對等備援搭配運作。

如需詳細資訊,請參閱 Create the Fallback State Database