《Hyperledger Fabric菜鸟进阶攻略》 —2.1.2 运行时架构
2.1.2 运行时架构
逻辑架构图说明了Hyperledger Fabric的各个核心组件/模块。由于Hyperledger Fabric是一个需要保证交易数据安全的分布式系统,所以在实际运行时将不同的服务器配置成为不同的Node(节点),担任不同的角色,从而实现逻辑架构中不同的核心组件/模块功能。
实际运行时架构如下图所示。
运行时架构图中各项解释如下:
1)App:代表一个CLI(客户端)或SDK,作用是创建交易并获取到足够的背书之后向Orderer节点(排序服务节点)提交交易请求(Peer节点与Orderer节点提供了gRPC远程访问接口,供客户端调用)。
2)CA:负责对网络中所有的证书进行管理(对Hyperledger Fabric网络中的成员身份进行管理),提供标准的PKI(Public Key Infrastructure,公钥基础设施)服务。
3)MSP(Member Service Provider):为客户端和Peer提供证书的系统抽象组件。
4)Channel:即通道,其将一个大的网络分割成为不同的私有子网。通道提供一种通信机制,将指定的Peer和Orderer连接在一起,形成一个具有保密性的通信链路(虚拟),进行数据隔离(区块数据只能存储在已加入到通道中的成员节点内)。要加入通道的每个节点都必须拥有自己的、通过成员服务提供商(MSP)获得的身份标识。
5)Orderer(排序服务节点):对客户端提交的交易请求进行排序,之后生成区块广播给通道内的Peer。
6)Org1:代表联盟中的某一个组织(一个联盟可以由多个不同的组织组成)。
7)Peer:表示组织中的节点(Node);Peer节点以区块的形式从排序服务节点接收有序状态更新,维护状态和账本。在Hyperledger Fabric网络运行环境中,Peer节点可以划分为如下4种角色。
背书节点:根据指定的策略调用智能合约,对结果进行背书,返回提案响应到客户端。
提交节点:验证数据并保存至账本中。
锚节点:通道中的每个组织(Org)都有一个锚节点,锚节点可以允许同一通道中不同组织的Peer节点发现通道内的所有Peer节点。
Leader节点:作为组织内所有节点的代表,能够连接到排序服务节点,将从排序服务节点接收到的批量区块广播给组织内的其他节点。
网络中只有部分Peer节点为背书节点角色,网络中所有Peer节点都为提交节点角色。
8)Chaincode:在Hyperledger Fabric中称为链式代码,简称链码;运行在一个安全的容器中,提供相应的API与账本数据进行交互。
9)Ledger:即账本,由排序服务构建的一个全部有序的交易哈希链块,保存在同一通道所有的Peer节点中。账本提供了在系统运行过程中发生的可验证历史,它包含所有成功的状态操作(有效交易)和不成功的状态操作(无效交易)。
FAQ
1.应用程序或客户端到底需要连接到哪些Peer节点?
只需要连接到背书节点即可。
2.背书节点怎么指定?
在实例化链码时由背书策略指定(参见4.2节)。
- 点赞
- 收藏
- 关注作者
评论(0)