管理訂購服務

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

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

什麼是訂購服務?

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

如需 Raft 協定的 Hyperledger Fabric 實作詳細資訊,請參閱: The Ordering Service - 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. 在參與者主控台中,重新整理節點頁籤。排序器節點狀態應列為「停用中」。從「動作」功能表中,選取啟動

    每個啟動的排序器節點都將新增至發起者的 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. 按一下訂購服務設定,然後按一下檢視
    就會顯示「排序設定值」對話方塊。