Fabric Peer节点的类型
Peer节点是网络的基本元素,因为他们存储了账本和智能合约
在 Hyperledger Fabric 中,所有的 Peer 节点都是一样的,基于这个网络的配置,Peer 节点能够担当多个角色。这些角色有:
- 提交节点(Committing peer)
通道中的每个 Peer 节点都可以是一个提交节点。提交节点会接收排序节点(排序节点不是Peer节点)生成的区块,在这些区块被验证之后会以附加的方式提交到 Peer节点的账本副本中。
- 背书节点(Endorsing peer)
每个安装了智能合约的 Peer 节点都可以作为一个背书节点。然而,想要成为一个真正的背书节点,节点上的智能合约必须要被客户端应用使用,来生成一个被签名的交易响应。背书节点的术语就是这样来的。
智能合约的背书策略明确了在交易被接受并且记录到提交节点的账本之前,需要哪些组织的 Peer 节点为交易签名。
Peer 节点的两个主要类型,一个 Peer 节点还可以担任的两种其他的角色:
- 主节点
当组织在通道中具有多个 Peer 节点的时候,会有一个主节点,它负责将交易从排序节点分发到该组织中其他的提节点。一个节点可以选择参与静态或者动态的领导选举。
从管理者的角度来考虑的话会有两套节点,一套是静态选择的主节点,另一套是动态选举的主节点。对于静态选择,0个或者多个节点可以被配置为主节点。对于动态选举,一个节点会被选举成为主节点。另外,在动态选举主节点中,如果一个主节点出错了,那么剩下的节点将会重新选举一个主节点。
这意味着一个组织的节点可以有一个或者多个主节点连接到排序服务。这有助于改进需要处理大量交易的大型网络的弹性以及可扩展性。
- 锚节点
如果一个 Peer 节点需要同另一个组织的 Peer 节点通信的话,它可以使用对方组织通道配置中定义的锚节点。一个组织可以拥有0个或者多个锚节点,并且一个锚节点能够帮助很多不同的跨组织间的通信。
需要注意的是,一个 Peer 节点可以同时是一个提交节点、背书节点、主节点和锚节点。在实际情况中只有锚节点是可选的,一般都会有一个主节点,至少一个背书节点和一个提交节点。
Fabric交易流程
这里我把交易分为了两种,查询交易和更新交易
查询交易:
- 不产生新区块
- 整个交易流程不经过Orderer节点
- 目前创建的网路