Hyperledger fabric 使用kafka配置时提及订购方名称

Hyperledger fabric 使用kafka配置时提及订购方名称,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,我在卡夫卡模式下使用orderer。现在,在调用链码时,我需要提供订购者名称。但是,如果我需要自己提供订购者名称,那么使用kafka选择订购者有什么用。我会注意到,客户端可以在内存中初始化一个具有多个订购者记录的通道,SDK应该提供通过随机订购者发送事务的选项。虽然一个组织的客户机可能与一个订购者通信,但另一个组织可能更希望将其客户机设置为使用不同的订购者(或订购者组,可能这些订购者在组织自己的服务器上运行) kafka的作用在于通过帮助跟踪事务,从而允许对数据块进行正确排序,从而为具有高吞吐量

我在卡夫卡模式下使用orderer。现在,在调用链码时,我需要提供订购者名称。但是,如果我需要自己提供订购者名称,那么使用kafka选择订购者有什么用。

我会注意到,客户端可以在内存中初始化一个具有多个订购者记录的通道,SDK应该提供通过随机订购者发送事务的选项。虽然一个组织的客户机可能与一个订购者通信,但另一个组织可能更希望将其客户机设置为使用不同的订购者(或订购者组,可能这些订购者在组织自己的服务器上运行)

kafka的作用在于通过帮助跟踪事务,从而允许对数据块进行正确排序,从而为具有高吞吐量和多个订购者的通道提供崩溃容错能力。具体地说,当客户机将事务发送给订购者时,订购者随后将转发到kafka集群维护的分区,然后订购者使用/读取该分区,以将事务打包到块中(订购者在此设置中既是生产者又是消费者)。kafka通过维护所有订购者都使用的事务流来保持所有订购者的同步

中概述了完整的技术解决方案,下图来自第11页

从readthedocs页面():

每个频道映射到卡夫卡中单独的单个分区主题。当OSN通过广播RPC接收事务时,它会检查以确保广播客户端有权在通道上写入,然后将这些事务中继(即生成)到Kafka中的相应分区。OSN也使用这个分区,它将接收到的事务在本地分组成块,将它们保存在本地分类账中,并通过Deliver RPC将它们提供给接收客户端。有关底层细节,请参阅描述我们如何实现此设计的文档-图8是上述过程的示意图