管理訂購服務

本主題包含創辦人和參與者如何管理訂購服務的相關資訊。

除了本主題所涵蓋的內容之外,還可以在主控台的通道頁面上執行訂購者節點的數個通道特定工作。請參閱:

什麼是訂購服務?

Oracle Blockchain Platform 支援 Raft 作為共識類型。

如需 Raft 協定之 Hyperledger Fabric 實作的詳細資訊,請參閱:訂購服務 - Raft

有了較舊的 Kafka 共識類型,整個網路最多可以有兩個排序器節點,而且必須加入所有通道。在某些情況下,它們可能會超載,且無法橫向擴展。使用 Raft 共識類型時,網路可以有任意數目的排序器節點,而每個通道可以定義自己的排序器節點集。不同的通道可以使用不同的排序器節點,排序器節點將不再是瓶頸。

不過,Raft 共識類型可能會複雜,以正確配置。有一些有關可以或無法完成的規則,如果這些規則未依循通道,甚至網路也可能無法運作。下列準則應減少遇到的問題:

保持訂購服務節點 (OSN) 的多數作用中

Raft 共識演算法要求大多數訂購服務節點 (OSN) 都在運作中,否則無法進行共識。「多數」代表大於 50%。例如,對於五個 OSN,至少必須有三個 OSN 正常運作;對於六個 OSN,至少必須有四個 OSN 正常運作。
  • 如果有 50% 或更少的 OSN 在網路中運作,網路管理將無法再運作。無法建立新的通道、無法將新的排序器節點新增至網路、無法從網路移除排序器等等。
  • 如果有 50% 或更少的 OSN 在應用程式通道中運作,則無法將交易提交至此應用程式通道。查詢仍然可以正常運作,但如新增組織、變更存取控制清單,或建立或部署鏈碼等管理作業將會失敗。

新增 OSN 至網路或應用程式通道時請務必謹慎。確保擁有者值得信賴,而且 OSN 健全。

移除 OSN 或組織時,請確定超過 50% 的 OSN 仍有效。例如,如果您有 2 個各有 3 個 OSN 的組織,當您移除一個組織時,在移除該組織時,系統只會將 50% 的 OSN 解譯為正常運作狀態。請先將 OSN 新增至剩餘的組織,再刪除無關的組織,以確保您總共超過 50% 的 OSN 運作。

不經常新增或移除訂購者

每當新增 OSN 至網路或通道,或從通道移除現有的 OSN 時,目前的 Raft OSN 叢集就會短暫變成不穩定。在此期間,無法處理任何交易,類似下列的錯誤訊息可能表示此類狀態:
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

這可能會持續數分鐘。如果您已從通道移除先前的 Raft 引線 OSN,這可能會持續 20 分鐘。

請確保您不會經常新增或移除訂購者。如果必須新增或移除多個排序器,請一次執行一個確認網路已回到作業狀態,然後再進行下次變更。

確保新訂購者儘快開始

新增訂購者至網路時,通常會涉及兩個組織:新訂購者的創辦人與擁有者。雙方必須依照加入參與者或橫向擴展 OSN 至創辦人訂購服務中的指示完成,否則創辦人將無法管理網路。

將參加者或橫向擴展的 OSN 加入創辦人訂購服務

佈建參與者執行處理時,會建立 3 個排序器。在訂購者加入網路之前會處於非作用中狀態。當您擴展創始人時,新訂購者也會處於停用狀態,直到他們加入網路為止。

如果必須新增或移除多個排序器,請一次執行一個確認網路已回到作業狀態,然後再進行下次變更。請參閱什麼是訂購服務?,瞭解新增、移除、啟動及停止 Raft 訂購者的其他重要明細。

從參與者或橫向擴展排序器匯出 OSN 設定值

若要將參與者或橫向擴展排序器加入網路,您必須匯出其設定值並將其匯入創始人。

  1. 節點頁籤上的參與者主控台 (或橫向擴展排序器的建立者主控台) 中,尋找排序器節點 (如果有多個節點,則為第一個排序器節點)。選取此節點的「動作」功能表,然後選取匯出 OSN 設定值

    這將會產生含有設定值的 JSON 檔案並儲存檔案。檔案包含組織的憑證,以及由參與者組織管理員的私密金鑰所簽署的所選訂購者服務節點 (OSN) 設定值。此檔案必須傳送給創辦人執行處理的管理員。

    使用此 OSN 在通道上執行的應用程式,也需要此匯出的 TLS 憑證。請參閱開發應用程式之前

  2. 在創立者主控台中,開啟網路標籤。按一下「新增 OSN」。此時會開啟一個視窗,提示您輸入參與者所提供之 JSON 檔案的位置。選取以上傳檔案,然後按一下新增

    參與者組織或新橫向擴展排序器將會新增至系統管道清單的排序器組織區段。

匯出創辦人的組態設定值

將參與者或橫向擴展排序器新增至創始人之後,您需要匯出創始人的設定,並將其匯入參與者或橫向擴展排序器。

  1. 在創立者主控台中,開啟網路標籤。按一下匯出網路組態區塊

    網路組態區塊包含最新的系統通道組態區塊。這可以儲存並傳送給參與者管理員。

  2. 節點頁籤上的參與者主控台 (或橫向擴展排序器的建立者主控台) 中,尋找排序器節點 (如果有多個節點,則為第一個排序器節點)。選取此節點的「動作」功能表,然後選取匯入網路組態區塊

    系統會提示您輸入創辦人執行處理管理員所傳送的檔案。

  3. 在參與者主控台中,重新整理節點頁籤。排序器節點狀態應列為 "down"。從「動作」功能表中,選取啟動

    每個啟動的排序器節點都會新增至創始者的 Raft 叢集。

每次透過橫向擴展排序器 (如調整您的執行處理中所述) 新增 OSN 時,必須重複這些步驟,才能將新的 OSN 新增至 Raft 叢集。

附註:

您無法將多個 OSN 新增至單一批次的網路中。請確定一次只新增 1 個 OSN。

編輯網路的訂購服務設定值

您可以更新創辦人例項的訂購服務設定。

請注意下列有關編輯訂購服務設定的重要資訊:
  • 更新的設定值會在您建立新通道時使用,而且不會套用至現有的通道。
  • 您可以另外更新個別現有通路的訂購服務設定,如編輯通路的訂購服務設定中所述。
  • 如果您變更訂購服務設定,且有針對網路執行的應用程式,則必須手動更新這些應用程式,才能使用修訂後的訂購服務設定。
  • 這並不常見,但在某些情況下,您可能會對某些網路參與者顯示不同的訂購服務。在此情況下,您將會匯出更新的網路組態區塊,而必要的參與者將會匯入修訂過的設定值。請參閱加入參與者的或橫向擴展的 OSN 至創辦人訂購服務
您必須是管理員,才能夠執行此作業。
  1. 移至創始者的主控台,然後選取 [ 網路 ] 標籤。
  2. 按一下訂購服務設定值按鈕。
    隨即顯示訂購服務設定值對話方塊。
  3. 視需要更新設定值。
    欄位 描述
    批次逾時 (毫秒) 指定系統在建立批次前應等待的時間長度 (毫秒)。請輸入 1 到 3600000 之間的數字。
    訊息數目上限 指定要包含在批次中的最大訊息數。請輸入 1 到 4294967295 之間的數字。
    絕對訊息位元組 指定批次中序列化訊息所允許的最大位元組數。

    此數字必須大於您在「偏好的訊息位元組」欄位中輸入的值。

    偏好的訊息位元組 指定批次中序列化訊息允許的偏好位元組數。大於此大小的訊息會產生較大的批次,但批次大小將會等於或小於您在「絕對訊息位元組」欄位中指定的位元組數。

    Oracle 建議您將此值設為等於或小於 1 MB。

    您在此欄位中輸入的值必須小於您在「絕對訊息位元組」欄位中輸入的值。

    快照間隔大小 定義每個取得快照的 MB 數。
  4. 按一下「更新」
    更新的設定值便會儲存。

檢視訂購服務設定值

您可以檢視匯入參與者的 Oracle Blockchain Platform 執行處理之創始者的訂購服務設定值。

如果創始人變更訂購服務設定,則新設定必須移植到參與者,如加入參與者或橫向擴展 OSN 至創始人的訂購服務中所述。如果有針對網路執行的應用程式,則必須手動更新這些應用程式,才能使用修訂後的訂購服務設定。
  1. 移至參與者的主控台,然後選取網路頁籤。
  2. 按一下訂購服務設定值,然後按一下檢視
    即會顯示「排序設定值」對話方塊。