我使用 Hyperledger Fabric 和 Docker 创建了一个网络。此网络中有 3 个订购方和 2 个组织。我将使用 Hyperledger Caliper 测试此网络。网络和 Caliper 运行正常。到目前为止,一切都已准备就绪,但有一件事浮现在我的脑海中。互联网上总是有单个订购方的示例。Hyperledger Fabric 是否有一个内部机制来在 3 个订购方上分配负载?据我所知,没有。那么,如果我想使用 nginx 进行负载平衡,我该如何设置?
我使用 Hyperledger Fabric 和 Docker 创建了一个网络。此网络中有 3 个订购方和 2 个组织。我将使用 Hyperledger Caliper 测试此网络。网络和 Caliper 运行正常。到目前为止,一切都已准备就绪,但有一件事浮现在我的脑海中。互联网上总是有单个订购方的示例。Hyperledger Fabric 是否有一个内部机制来在 3 个订购方上分配负载?据我所知,没有。那么,如果我想使用 nginx 进行负载平衡,我该如何设置?
使用Fabric Gateway 客户端 API(适用于 Fabric v2.4 及更高版本),客户端仅连接到 Gateway 对等点。作为交易提交流程的一部分,与背书对等点和排序服务节点的连接由 Gateway 对等点代表客户端进行管理和执行。全栈传输指南示例附带的文档描述了节点之间的流程和交互。Fabric主文档中的Fabric Gateway架构参考提供了有关机制的更多详细信息。
网关服务会为每个交易调用随机选择排序服务节点,以在排序服务中分配负载。共识机制还需要排序服务节点之间的通信。
由于与排序服务节点的连接是由部署网络内的网关对等点建立的,并且网关服务和共识机制都会导致在排序服务节点之间分配工作,因此我认为配置对排序服务节点的负载平衡代理访问没有任何好处。
您可以考虑在给定组织的网关对等点前面为客户端连接提供负载平衡端点,以在网关对等点之间提供容错和负载平衡。full -stack-transfer-guide文档中提到了这一点。