博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蜗牛讲-fabric原理之锚点
阅读量:4555 次
发布时间:2019-06-08

本文共 701 字,大约阅读时间需要 2 分钟。

锚节点是定义在一个已经加入到管道的组织的节点。该节点主要用于节点的发现。

在一个管道中,锚节点可以被这个管道的其他任何节点发现和通信。因此,每一个加入到管道内的组织都至少有一个锚节点,一个组织的节点可以通过查找锚节点来发现这个管道内的其他组织的所有节点。

 

当ordering服务要发送一个区块到管道,这个块就必须先发送到一个组织的leader 节点,之后由leader节点把这个块通过gossip协议分发到这个组织的其他节点上。 也就是说,锚点是组织和组织之间的联通桥梁。而leader节点是peer节点和order服务之间的通信桥梁。

 

根据当前的peer身份,获取到当前peer所在的组织

确保所设置的锚点要在当前的channel内

使用锚点信息,构造joinchannel的消息格式

根据配置信息,获取要更改组织下的所有锚点,这些锚点信息都放入joinchannel的消息中,用于gossip发送

对joinchannel消息中每个组织里的锚点:

  • 遍历这个组织下的锚点,首先进行host和port合法性检测。如果当前节点就是锚点,就不做任何操作。之后,如果锚点不在当前组织内,需要判断当前节点是否可以对外连接,也就是说是否设置了外部访问端口

  • 使用发现服务连接这个锚点,在连接的过程中,发送的消息是不需要节点签名的。只需要保证连接的时候,需要知道连接节点的PKIid(PKIid的获取是通过与远程节点进行握手操作获取到远程节点的签名信息和PKIid)

  

                  

蜗牛讲技术,满满的都是干货,你值得关注。

 

转载于:https://www.cnblogs.com/StephenWu/p/10485739.html

你可能感兴趣的文章
DLL远程注入与卸载
查看>>
Jmeter-ForEach控制器
查看>>
Checklist: 2019 05.01 ~ 06.30
查看>>
Binary XML file : Error inflating class com.esri.android.map.MapView
查看>>
grep,awk和sed
查看>>
.NET Core WebAPI IIS 部署问题
查看>>
SystemTap 静态探针安装包
查看>>
数据模型
查看>>
[LeetCode&Python] Problem 371. Sum of Two Integers
查看>>
HDU-4288 Coder 线段树
查看>>
HDU-1878 欧拉回路 判定是否存在欧拉回路
查看>>
大道至简读后感
查看>>
[New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint...
查看>>
hdu 1404
查看>>
ACM/ICPC 之 欧拉回路两道(POJ1300-POJ1386)
查看>>
避免死锁的银行家算法
查看>>
resultMap自定义某个javaBean的封装规则代码
查看>>
oracle tkprof 工具详解
查看>>
[Django实战] 第3篇 - 用户认证(初始配置)
查看>>
简单逆向分析修改软件标题
查看>>