16°

基于SOLO的共识方案

1.Solo共识介绍

Solo共识模式是指Order节点为单节点通信模式,由Peer节点发送过来的消息由一个Order节点进行排序和产生区块。

由于排序服务只有一个Order为所有节点(Peer)服务,没有高可用性和可扩展性,不适合用于生产环境,可以用于开发和测试环境。

Solo is not intended for production. It is not, and will never be, fault tolerant.——Fabric官方文档

2.Solo共识设计

Solo共识工作时序如下图所示。图中所描述的范围是在SDK发起交易到交易落地这整个过程。

在Order节点容器启动时,启动Solo排序服务,开启监SDK发送过来的消息,收到消息后调用Solo服务进行数据区块处理。其中,Solo模式调用过程说明:

(1)SDK通过gRPC连接Peer,发送交易信息Tx;

(2)Peer调用合约后,将返回结果再回复给SDK;

(3)SDK通过gRPC连接Order,将(2)的sdkPeerReply发送给Order,执行Solo共识服务:

A.接收消息

B.消息入列

C.消息排序

D.消息切块(根据时间或交易数量分切)

E.生成区块

F.写入区块文件

G.通知Peers

3.Solo共识模式网络部署

首先order设置共识机制为“solo”,多机多节点部署需要至少两台服务器,一台 Order 排序服务节点,一台 peer 节点,每新加一台额外的服务器都可作为新的 peer 节点来加盟。

本文由【乐】发布于开源中国,原文链接:https://my.oschina.net/u/4083311/blog/3160361

全部评论: 0

    我有话说: