排序服务在超级账本 Fabric 网络中起到┿分核心的作用所有交易在发送给 Committer 进行验证接受之前,需要先经过排序服务进行全局排序
下面以 Kafka 作为共识插件为例,讲解 Orderer 节点的核心過程
Orderer 节点(Ordering Service Node,OSN)在网络中起到代理作用多个 Orderer 节点会连接到 Kafka 集群,利用 Kafka 的共识功能完成对网络中交易的排序和打包成区块的工作。
Fabric 网絡提供了多通道特性为了支持这一特性,同时保障每个 Orderer 节点上数据的一致性排序服务进行了一些特殊设计。
此外Orderer 还在本地维护了针對每个通道的账本(区块链)结构,其中每个区块包括了一组排序后的交易消息并且被分割为独立区块。
- Orderer 节点收到请求后提取消息进荇解析、检查,通过检查后封装为 Kafka 消息通过 Produce 接口发送到 Kakfa 集群对应的 topic
- Kafka 集群维护多个 topic 分区。Kakfa 通过共识算法来确保写入到分区后的消息的一致性即一旦写入分区,任何 Orderer 节点看到的都是相同的消息队列
- Orderer 节点在启动后,还默认对本地账本对应的 Kafka 分区数据进行监听不断从 Kafka 拉取(Consume)新的交易消息,并对消息进行处理满足一定策略情况下(收到 TTX-C 或配置消息)还会将消息打包为区块。
收到分块消息 TTC-X或收到配置交易,则切分消息为区块
专注金融科技、人工智能、云计算、大数据相关领域的热门技术与前瞻方向。
发送关键词(如区块链、云计算、大數据、容器)获取热门点评与技术干货。