从 Hyperledger Fabric 通道中的 OrdererAddresses 部分删除大部分订购者
Removing majority of orderers from OrdererAddresses section in channel in Hyperledger Fabric
考虑以下情况:
- 我是运行
fabric-samples/first-network
在RAFT模式下的HLF
- 我使用 CLI 容器获取
mychannel
的最新区块,并通过删除 4 个排序节点来编辑 OrdererAddresses
部分,即 orderer2.example.com
、orderer3.example.com
、orderer4.example.com
, orderer5.example.com
来自它.
我假设这会扰乱 RAFT 协议,因为排序节点应该通过查看 OrdererAddresses
部分中的端点来相互通信。
现在的问题是,尽管存在上述事实,RAFT 仍能正常工作。我等待 10 minutes
,假设 RAFT 会在 EvictionSuspicion
超时后中断,因为不再有领导者可以与其他排序者通信。但这不会发生。我仍然能够从 mychannel
读取块,并且我能够在该通道的链码上提交新交易(invoke
操作)。
这意味着OrdererAddresses
在通信时没有被查看。如果我错了,请纠正我。据此,我需要知道:
RAFT 通道中 OrdererAddresses 部分的确切功能是什么?
I learnt that RAFT orderers communicate to one another using the
host
and port
properties of the Consenters
section for the
purpose of consensus messages. The endpoints present in the
OrdererAddresses
section are used for replication of blocks.
学习可以从 here 得到验证,正如 Yacov M.
的回答
考虑以下情况:
- 我是运行
fabric-samples/first-network
在RAFT模式下的HLF - 我使用 CLI 容器获取
mychannel
的最新区块,并通过删除 4 个排序节点来编辑OrdererAddresses
部分,即orderer2.example.com
、orderer3.example.com
、orderer4.example.com
,orderer5.example.com
来自它.
我假设这会扰乱 RAFT 协议,因为排序节点应该通过查看 OrdererAddresses
部分中的端点来相互通信。
现在的问题是,尽管存在上述事实,RAFT 仍能正常工作。我等待 10 minutes
,假设 RAFT 会在 EvictionSuspicion
超时后中断,因为不再有领导者可以与其他排序者通信。但这不会发生。我仍然能够从 mychannel
读取块,并且我能够在该通道的链码上提交新交易(invoke
操作)。
这意味着OrdererAddresses
在通信时没有被查看。如果我错了,请纠正我。据此,我需要知道:
RAFT 通道中 OrdererAddresses 部分的确切功能是什么?
I learnt that RAFT orderers communicate to one another using the
host
andport
properties of theConsenters
section for the purpose of consensus messages. The endpoints present in theOrdererAddresses
section are used for replication of blocks.
学习可以从 here 得到验证,正如 Yacov M.
的回答