管理訂購服務
本主題包含創辦人和參與者如何管理訂購服務的相關資訊。
什麼是訂購服務?
Oracle Blockchain Platform 支援 Raft 作為共識類型。
如需 Raft 協定的 Hyperledger Fabric 實作詳細資訊,請參閱: The Ordering Service - Raft 。
使用較舊的 Kafka 一致類型,整個網路最多只能有兩個排序器節點,因此必須加入所有通道。在某些情況下,它們可能會超載,且無法橫向擴展。使用 Raft 一致類型時,網路可以有任意數量的排序器節點,而且每個通道都可以定義自己的排序器節點集。不同的通道可以使用不同的排序器節點,而排序器節點將不再是瓶頸。
不過,Raft 一致類型可能會複雜,因此無法正確設定。有一些關於可執行或無法執行的規則,如果通路未遵循這些規則,甚至網路可能無法運作。下列準則可減少遇到的問題數目:
維持多數訂購服務節點 (OSN) 的使用狀態
- 如果網路中有 50% 或更少的 OSN,網路管理將無法再運作。無法建立任何通道、無法將新的排序器節點新增至網路、無法從網路移除排序器等等。
- 如果有 50% 或更少的 OSN 在應用程式通道中運作,則無法將交易提交至此應用程式通道。查詢仍然可以正常運作,但是如新增組織、變更存取控制清單或部署鏈碼等管理作業將會失敗。
新增 OSN 至網路或應用程式通道時請務必小心。確保擁有者值得信賴,而且 OSN 是健全的。
移除 OSN 或組織時,請確定超過 50% 的 OSN 將繼續運作。例如,如果您有兩個各有三個 OSN 的組織,如果您移除一個組織,則在移除期間,它只會解譯為 50% 的 OSN。刪除外部組織前,請先新增 OSN 至其餘的組織,以確保您永遠超過所工作的 OSN 50%。
不經常新增或移除訂購者
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST
這可能會持續數分鐘。如果您已從通道移除先前的 Raft 領導者 OSN,這可能會持續 20 分鐘。
請確定您未經常新增或移除訂購者。如果必須新增或移除多個訂購者,請一次執行一個,並確保網路在下一次變更之前已回到作業狀態。
確保新訂購者儘快開始使用
在網路中新增排序器時,通常會涉及兩個組織:新排序器的創辦人和擁有者。雙方都必須遵循加入參與者或橫向擴展 OSN 至創立者的訂購服務中的指示進行,否則創辦人將無法管理網路。
將參與者或橫向擴展 OSN 加入創辦人的訂購服務
佈建參與者執行處理時,會建立 3 個排序器。排序器在加入網路之前為非作用中狀態。當您橫向擴展創始者時,新的訂購者也會處於非作用中狀態,直到他們加入網路為止。
若要新增或移除多個排序器,請一次新增或移除一個,並確保網路在進行下一個變更之前已回到作業狀態。如需新增、移除、啟動及停止 Raft 訂購器的額外重要明細,請參閱何謂訂購服務?。
從參與者或橫向擴展排序器匯出 OSN 設定值
若要將參與者或橫向擴展排序器加入網路,請匯出其設定並將其匯入至建立者。
-
在參與者主控台 (或擴展訂購者的建立者主控台) 的節點頁籤上,尋找排序器節點 (如果有多個節點,則尋找第一個排序器節點)。選取此節點的「動作」功能表,然後選取匯出 OSN 設定值。
這會產生含有設定值的 JSON 檔案並儲存檔案。檔案包含參與者組織管理員的私密金鑰所簽署的組織憑證與選取的訂購者服務節點 (OSN) 設定值。將此檔案傳送給創辦人實例的管理員。
使用此 OSN 通道上執行的應用程式,也需要這個匯出的 TLS 憑證。
-
在創始人主控台中,開啟 [ 網路 ] 標籤。按一下新增 OSN 。就會開啟一個視窗,提示您輸入參與者所提供之 JSON 檔案的位置。選取以上傳檔案,然後按一下新增。
參與者組織或新橫向擴展排序器會新增至系統管道清單的排序器組織區段。
匯出創辦人的組態設定值
將參與者或橫向擴展排序器新增至創始人之後,您必須匯出創始人的設定,並將其匯入參與者或橫向擴展排序器中。
-
在啟動器主控台中,開啟 [ 網路 ] 標籤。按一下匯出網路組態區塊。
網路組態區塊包含最新的系統通道組態區塊。這可以儲存並傳送給參與者管理員。
-
在參與者主控台 (或擴展訂購者的建立者主控台) 的節點頁籤上,尋找排序器節點 (如果有多個節點,則尋找第一個排序器節點)。選取此節點的「動作」功能表,然後選取匯入網路組態區塊。
系統會提示您輸入由創辦人執行處理管理員傳送的檔案。
-
在參與者主控台中,重新整理節點頁籤。排序器節點狀態將會列示為停用中。從「動作」功能表選取開始。
每個已啟動的訂購者節點都會新增至創始者的 Raft 叢集。
附註:
您無法在單一批次中新增多個 OSN 至網路。請確定一次僅新增一個 OSN。編輯網路的訂購服務設定值
您可以更新發起者例項的訂購服務設定。
- 更新的設定值會在您建立通道時使用,而且不會套用至現有的通道。
- 您可以更新個別現有通路的訂購服務設定,如編輯通路的訂購服務設定中所述。
- 如果您變更訂購服務設定,且有應用程式在網路上執行,則必須手動更新這些應用程式,才能使用修訂後的訂購服務設定。
- 這並不常見,但在某些情況下,您可能會向某些網路參與者公開不同的訂購服務。在此情況下,您將匯出更新的網路組態區塊,而必要參與者將匯入修訂的設定值。請參閱加入參與者或橫向擴展的 OSN 至創立者的訂購服務。
檢視訂購服務設定值
您可以檢視匯入參與者之 Oracle Blockchain Platform 執行處理的創始人訂購服務設定值。