在Fabric中,盡管所有對等節點/peer都是相同的,但它們可以根據網絡的配置方式承擔多個角色:(①②是主要的節點類型)
①記賬/確認(Commiter)節點:
通道中的每個對等節點都是一個提交節點。它們接收生成的交易區塊,隨后這些區塊在被提交到節點的賬本副本之前先被驗證。
②背書(Endorser)節點:
具有智能合約的每個對等節點都可以是背書節點。要真正成為一個背書節點,客戶端應用程序必須使用對等節點上的智能合約來生成經過數字簽名的交易響應。智能合約的背書策略標識了哪些組織中的節點應該在交易被提交節點的賬本副本接受之前對交易進行背書。
③領導/主(Leader)節點:
當一個組織在一個通道中有多個節點時,領導節點負責將交易從排序節點分發到組織中的其它節點。一個節點可以選擇參與靜態或動態的領導選舉。從領導的角度考慮,兩組節點是有幫助的——一組是靜態的領導者選舉,另一組是動態的領導者選舉。對於靜態集,可以將0個或多個對等節點設置為leader。對於動態集合,僅一個節點會被推選為leader,並且在動態集合中,如果leader peer發生故障,那么其余的peer將重新選舉leader。這意味着一個組織可以有一個或多個領導節點連接到排序服務。這有助於在處理大量交易的大型網絡中提高彈性和可伸縮性。
④錨(Anchor)節點:
如果一個節點需要與其他組織中的節點進行通信,它可以使用在該組織的通道配置中定義的錨節點。錨節點可以用於許多不同的跨組織通信場景。channel上的每個成員都有一個anchor peer(或多個anchor peer 來防止單點故障),允許屬於不同成員的peer發現channel上的所有現有peer。
注意:一個節點可以同時是以上的四種節點。只有錨節點是可選的——出於實際目的,總會有一個領導節點,並且至少有一個背書節點和一個提交節點。