【问题标题】:In (hyperledger fabric)kafka ordering service which orderer node will be signing and broadcasting the block to all the anchor peers在(超级账本结构)kafka 排序服务中,哪个排序节点将签名并将块广播给所有锚节点
【发布时间】:2019-06-27 20:50:29
【问题描述】:

在配置 kafka 排序服务时,所有排序节点将拥有相同的交易块。由于每个 orderer 签名彼此不同,谁将在提交时签署特定块并将其发送给所有对等方?是否有任何标准或优先级顺序可供节点或锚节点选择特定的排序节点,并且所有节点都会同意该标准?如果假设我们将在哪里指定该标准?(假设是否有 3 个排序节点)

【问题讨论】:

  • 一个小题外话:区块没有必要被发送到锚节点,技术上块被发送到领导节点。领导节点可以是静态的(硬编码的)或动态的。跨度>

标签: apache-kafka hyperledger-fabric


【解决方案1】:

当您创建排序服务时,您在初始创世区块中指定排序组织的成员信息(又名排序组织 MSP)。然后,此信息将包含在每个通道的通道配置中,并在对等点加入通道时传播给它们。因此,peer 将验证来自 orderer MSP 颁发证书的任何 orderer 节点的块签名,这意味着 peer 从哪个排序节点接收块无关紧要。

【讨论】:

  • 嘿@Gari 只是一个小疑问,所以没有必要所有的同行都只从一个订购者那里收到块?所有的peer都可以从不同的orderer那里拿到block吗?
  • 嗨@Gari如果每个orderer节点都在切割块,哪个将在网络中广播??(将采用哪个orderer签名的块?)。在这种情况下,如果所有节点都具有相同的块怎么办具有不同订购者签名的数据?您能否详细解释一下内部发生的情况?
  • 嘿@rishabh sharma 实际上,在使用 commithandler.js 文件在本地测试 kafka 排序服务时,当我读取块信息时,即使有 3 个排序节点,我也只能找到一个排序节点签名(除非它已关闭)如果一个订购者宕机了,也会被激活,哪个订购者将创建即将到来的区块?@Gari 不同的对等方会提交不同的签名块还是都只从一个订购者那里获取?你能详细解释一下发生了什么吗?请提供同样的帮助。
  • Kafka 用作跨排序节点的复制机制。排序节点内部有逻辑来确保所有节点切割相同的块。对等节点本身通常只会连接到一个排序节点(除非一个节点出现故障,在这种情况下它将连接到列表中的下一个节点)。
  • 我们进行了一些更改,但对等方会随机从通道配置块中的订购者列表中选择。每个对等点连接到哪个排序节点实际上并不重要。
【解决方案2】:

给你, 这是link,它将解释整个订购过程。

总而言之,Kafka 只是帮助排序者彼此同步,并以完美的顺序设置块。 所以简而言之,您的问题的答案是连接到交付客户端的订购者将签署交易。

【讨论】:

  • 嘿@RisabhSharma 对不起。我没有完全明白。您能否详细解释一下,如果有 3 个 orderer 节点(ordere0 order1 和 ordere2)并且在广播一个块时将连接到对等节点,如果它在 3 个中的哪个 order(orderer 1 或 orderer2,假设 orderer0 已关闭)中关闭)下一个 orderer 将广播区块??
  • 基于 kafka 的 oderering 服务中的 orderer 遵循 leader-follower 系统。其中 leader 拥有一个分区,follower 拥有相同的副本。当领导者死亡时,追随者成为新的领导者。(在您的情况下,订单者 0 是领导者,假设订单者 0 已关闭,然后 kafka 集群将决定哪个订单者将成为领导者)请通过此答案了解kafka.please 完成这个问题,我相信这会清除一切。 stackoverflow.com/questions/44024609/…
  • 但是orderer节点和kafka节点是不一样的知道吗?? kafka 节点将由 zookeeper 处理,据我所知,leader follower 系统位于 kafka 集群内,并且 orderer 节点从那里进行交易。因此,每当发生超时时,kafka 都会要求切割区块,所有订购者都会切割区块并保存在自己的本地分类帐中。但是区块的交付只能由一个订购者完成。我想知道那会是哪个订购者?我们是否在 yaml 文件中指定了任何排序标准?或者在我们的节点sdk中??
  • 或者我们是否在 kafka 配置中指定了 ordererit 应该首先采用的任何内容?并且在测试时我可以看到,除非一个订购者出现故障,否则它只会在其余交易中跟随该订购者。
  • Kafka 自己决定谁将成为领导者。排序者接收块并将其发送到卡夫卡,以便它可以维护其记录。因此,当一个排序者关闭时,另一个将签署该块。当它启动时,它将开始提取丢失的数据并像其他排序者一样继续其任务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 2020-04-26
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多