管理訂購服務
本主題包含創辦人和參與者如何管理訂購服務的相關資訊。
什麼是訂購服務?
Oracle Blockchain Platform 支援 Raft 作為共識類型。
如需 Raft 協定之 Hyperledger Fabric 實作的詳細資訊,請參閱:訂購服務 - 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 檔案的位置。選取以上傳檔案,然後按一下新增。
參與者組織或新橫向擴展排序器將會新增至系統管道清單的排序器組織區段。
匯出創辦人的組態設定值
將參與者或橫向擴展排序器新增至創始人之後,您需要匯出創始人的設定,並將其匯入參與者或橫向擴展排序器。
-
在創立者主控台中,開啟網路標籤。按一下匯出網路組態區塊。
網路組態區塊包含最新的系統通道組態區塊。這可以儲存並傳送給參與者管理員。
-
在節點頁籤上的參與者主控台 (或橫向擴展排序器的建立者主控台) 中,尋找排序器節點 (如果有多個節點,則為第一個排序器節點)。選取此節點的「動作」功能表,然後選取匯入網路組態區塊。
系統會提示您輸入創辦人執行處理管理員所傳送的檔案。
-
在參與者主控台中,重新整理節點頁籤。排序器節點狀態應列為 "down"。從「動作」功能表中,選取啟動。
每個啟動的排序器節點都會新增至創始者的 Raft 叢集。
附註:
您無法將多個 OSN 新增至單一批次的網路中。請確定一次只新增 1 個 OSN。編輯網路的訂購服務設定值
您可以更新創辦人例項的訂購服務設定。
- 更新的設定值會在您建立新通道時使用,而且不會套用至現有的通道。
- 您可以另外更新個別現有通路的訂購服務設定,如編輯通路的訂購服務設定中所述。
- 如果您變更訂購服務設定,且有針對網路執行的應用程式,則必須手動更新這些應用程式,才能使用修訂後的訂購服務設定。
- 這並不常見,但在某些情況下,您可能會對某些網路參與者顯示不同的訂購服務。在此情況下,您將會匯出更新的網路組態區塊,而必要的參與者將會匯入修訂過的設定值。請參閱加入參與者的或橫向擴展的 OSN 至創辦人訂購服務。
檢視訂購服務設定值
您可以檢視匯入參與者的 Oracle Blockchain Platform 執行處理之創始者的訂購服務設定值。