可以分发Hyperledger Fabric Consensus Service吗?

时间:2016-12-12 15:25:47

标签: hyperledger hyperledger-fabric consensus

我感兴趣地阅读了fabric proposal on consensus architecture,我对共识服务有疑问。在我看来,这实际上是一种单一服务,可以保证所有对等体按照它所决定的顺序接收块。因此,在任何给定时间,对于给定的链,它看起来必须由单个已识别且受信任的组织运行。它看起来不像服务可以分发。这是正确的,还是我误解了?

这不是一个真正的编程问题:如果这是一个错误的地方提出这个问题,也许有人可以让我知道。

1 个答案:

答案 0 :(得分:8)

更新:Kafka Orderer现已投入生产:

  

个人订购服务(测试):个人订购服务旨在实现极易部署,非生产订购   服务。它由一个为所有客户服务的流程组成   由于只有一个中央机关,因此不需要达成共识。   相应地没有高可用性或可伸缩性。这个   使solo成为开发和测试的理想选择,但不适合部署。

     

基于Kafka的订购服务(生产):基于Kafka的订购服务利用Kafka发布/订阅系统来执行   排序,但将其包含在熟悉的ab.proto定义中,以便这样做   peer orderer客户端代码不是专门为其编写的   卡夫卡。卡夫卡目前是生产的首选   需要高吞吐量和高可用性的部署,但确实如此   不要求拜占庭容错。

     

PBFT订购服务(待定): PBFT订购服务将使用Hyperledger Fabric PBFT实施(目前在   开发)以拜占庭容错的方式对消息进行排序。

Hyperledger Fabric中的共识服务是一个可插拔模块。 information约有3个宣布的实施:

  

Solo Orderer :   独奏订购者旨在成为非常容易部署的非生产订货人。它由一个服务的单一过程组成   所有客户,因此没有“共识”,因为只有一个   中央。相应地没有高可用性或   可扩展性。这使得solo成为开发和测试的理想选择,但是   不部署。 Solo orderer取决于后备原始分类帐。

     

Kafka Orderer(待定):   Kafka orderer利用Kafka pubsub系统执行排序,但将其包含在熟悉的ab.proto定义中,以便   peer orderer客户端代码不是专门为其编写的   卡夫卡。在现实世界的部署中,可以预期Kafka   原始服务将在当地绑定,因为Kafka有自己的   强大的线协议。但是,用于测试或新颖部署   在场景中,Kafka订购者可以部署为网络服务。   预计Kafka将成为生产部署的首选   这要求高吞吐量和高可用性但不要求   拜占庭容错。卡夫卡订货人不使用   支持原始分类帐,因为这是由Kafka经纪人处理的。

     

PBFT Orderer(待定):   PBFT订购者使用超级分层结构PBFT实现以拜占庭容错方式对消息进行排序。因为   正在为超额预算器明确开发实施   结构,ab.proto用于与PBFT的有线通信   订购者。因此,将PBFT订购者绑定到   对等进程虽然可能适合某些部署。 PBFT   orderer取决于支持原始分类帐。

  • 对于Solo orderer(现在可用),声明“必须由单个已识别且受信任的组织运行”为真。
  • Kafka orderer(正在开发中) - 应该可以以分布式方式部署。
  • PBFT Orderer - 未找到有关此实施的信息。