使用 Kafka 部署 Hyperledger Fabric
Hyperledger Fabric Deployment with Kafka
我对在生产环境中设置 kafka 节点感到困惑。我知道,Hyperledger 社区建议在多个组织的合资企业 中设置 Kafka。因为,社区更喜欢将所有 Kafka 和 Zookeeper 节点保存在一个数据中心以获得更好的性能。
但是,我不能拥有所有组织的合资企业。 Kafka、Zookeeper 和 Orderer 节点是否可以分布在多个组织中? 例如:
假设有两个组织,他们可以主持以下内容:
- 每个组织都有自己的 MSP
- 每个组织有 4 个同行
- Kafka 集群已共享。即 Org1 托管 2 个 Kafka 和 2 个 Zookeeper 节点,Org 2 托管 2 个 kafka 和 1 个 zookeeper 节点。
- 每个组织有 2 个订购者。
分布式结构网络部署应该微调托管服务的组织之间的责任划分和信任之间的权衡。正如问题中所建议的,随着联盟规模的增长,共享 kafka-zookeeper 集群托管和排序服务节点的对等组织可能会导致可扩展性和信任问题。以下是两个主要问题:
- zookeeper 需要以奇数部署,以避免分裂
脑部问题和部署 >=7 不推荐。如果同行
组织也负责接待动物园管理员,
一旦 zookeeper 整体达到最大值,解决方案将无法扩展
新的组织不断涌入。
另一方面,在与
同龄人也气馁。这是由于默认块
由允许任何有效的结构分隔的验证策略
订购组织的证书,在本例中为
也托管对等节点,以签署块。这实质上意味着使用托管各种服务(包括排序服务)的组织生成的任何有效证书签名的块将通过验证。所以,
我对在生产环境中设置 kafka 节点感到困惑。我知道,Hyperledger 社区建议在多个组织的合资企业 中设置 Kafka。因为,社区更喜欢将所有 Kafka 和 Zookeeper 节点保存在一个数据中心以获得更好的性能。
但是,我不能拥有所有组织的合资企业。 Kafka、Zookeeper 和 Orderer 节点是否可以分布在多个组织中? 例如:
假设有两个组织,他们可以主持以下内容:
- 每个组织都有自己的 MSP
- 每个组织有 4 个同行
- Kafka 集群已共享。即 Org1 托管 2 个 Kafka 和 2 个 Zookeeper 节点,Org 2 托管 2 个 kafka 和 1 个 zookeeper 节点。
- 每个组织有 2 个订购者。
分布式结构网络部署应该微调托管服务的组织之间的责任划分和信任之间的权衡。正如问题中所建议的,随着联盟规模的增长,共享 kafka-zookeeper 集群托管和排序服务节点的对等组织可能会导致可扩展性和信任问题。以下是两个主要问题:
- zookeeper 需要以奇数部署,以避免分裂 脑部问题和部署 >=7 不推荐。如果同行 组织也负责接待动物园管理员, 一旦 zookeeper 整体达到最大值,解决方案将无法扩展 新的组织不断涌入。
另一方面,在与 同龄人也气馁。这是由于默认块 由允许任何有效的结构分隔的验证策略 订购组织的证书,在本例中为 也托管对等节点,以签署块。这实质上意味着使用托管各种服务(包括排序服务)的组织生成的任何有效证书签名的块将通过验证。所以,