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