使用kafka部署hyperledger结构

ecbunoof  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(301)

我对在生产环境中设置kafka节点感到困惑。我知道,hyperledger社区建议Kafka在多个组织的合资企业中成立。因此,为了获得更好的性能,社区倾向于将所有kafka和zookeeper节点保留在单个数据中心。
但是,我不可能有一个所有组织的合资企业。kafka、zookeeper和order节点可以分布在多个组织中吗?例如:

假设有两个组织,它们可以承载以下内容:
每个组织都有自己的msp
每个组织有4个对等点
Kafka集群是共享的。i、 e.org1托管2个kafka和2个zookeeper节点,Org2托管2个kafka和1个zookeeper节点。
每个组织有2个订购者。

0ejtzxu1

0ejtzxu11#

分布式结构网络部署应该在托管服务的组织之间的责任划分和信任之间进行微调。正如问题中所建议的,随着联盟规模的增长,共享kafka zookeeper集群主机和订购服务节点的对等组织可能会导致可伸缩性和信任问题。以下是两个主要问题:
Zookeeper需要以奇数部署,以避免大脑分裂问题,不建议部署>=7。如果对等组织也承担托管zookeers的责任,那么一旦zookeers集合达到最大值并且新的组织不断进来,解决方案将无法扩展。
另一方面,也不鼓励将osn托管在与对等方相同的组织中。这是由于默认的块验证策略由fabric分隔,该策略允许排序组织的任何有效证书(在本例中也是承载对等节点的组织)对块进行签名。这本质上意味着,使用托管各种服务(包括订购服务)的组织生成的任何有效证书签名的块将通过验证。所以,
如果组织同时扮演排序和应用程序角色,则应更新此策略以将块签名者限制为授权排序的证书子集

相关问题