如何在创建频道时传递所有订购者(筏)

编程入门 行业动态 更新时间:2024-10-11 03:18:42

<a href=https://www.elefans.com/category/jswz/34/1771448.html style=如何在创建频道时传递所有订购者(筏)"/>

如何在创建频道时传递所有订购者(筏)

我有一个3 org 6对等系统,带有节点SDK和5个Raft Orderer。木筏运转良好,试图杀死领导人并进行选举。 SDK也可以很好地调用事务。但是困扰我的问题是启动网络时订购系统默认使用第一个订购者,例如orderer1.example,现在如果我杀死了这个第一个订购者,网络将失败,在筏选择新的领导者时交易调用失败。当我尝试调用事务时,它显示连接失败,无法连接到所有地址并且服务不可用。

我在SDk的打字稿部分中看到了一种传递排序器的方法,在这里我编写了一个循环以传递所有订购器,以上问题得以解决。

在js实现中有什么方法可以解决这个问题?

回答如下:

嘿@Anantha Padmanabhan

与订购系统无关,筏是完美的分布式共识算法

在您的情况下,如果有5个订购者,则您想杀死1个订购者,如果第5个订购者是领导者,并且您的网络稳定,则不用担心,剩下的4个将开始选举领导者。

问题出在连接配置文件中的SDK端例如:

  "channels": {
    "samchannel": {
      "orderers": [
        "sam-orderer1",
        "sam-orderer2",
        "sam-orderer3",
        "sam-orderer4",
        "sam-orderer5"
      ],
    ...

如果您尝试删除sam-orderer1订购者,则您的SDK尝试将交易发送到sam-orderer1,因为它位于数组的第0个索引中

测试:尝试删除sam-orderer1以外的其他内容,例如sam-orderer3,现在尝试调用该事务,它将仍然有效

进行此测试并向我更新测试状态

这是从SDK端发出的,一旦它检测到任何排序器已关闭,就停止执行,而应重定向到另一个可用的排序器。我认为唯一的方法是代替SDK使用连接配置文件自动解析订购者,您可以执行此步骤并仅发送可用的订购者,并且可以使用发现服务提供可用的订购者]

更多推荐

如何在创建频道时传递所有订购者(筏)

本文发布于:2024-05-07 05:27:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754506.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何在   频道

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!