Sawtooth Lake学习笔记(十一)
2020-03-04 本文已影响0人
HJ很忙
六、 Sawtooth网络
网络层负责Sawtooth网络中验证组件之间的通信,包括执行初始连接,发现成员和消息处理。启动后,实例化的验证组件开始在指定的接口和端口上监听传入的连接(信息)。在进行对等连接后,验证组件将根据通信协议的规则相互交换消息 。
一个主要的设计目标是使网络层尽可能自包含(独立存在)。例如,网络层不需要知道应用程序消息的负载(信息),也不需要应用程序层提供数据来连接到其他成员或建立网络的连接。反过来,应用程序也无需为了发送和接收消息而了解网络的实现细节。
1. 服务
选择ZMQ技术在可用的连接模式和传输层(IPv4,IPv6等)的基础功能这两个方面都提供了相当大的灵活性。
Sawtooth已采用了ZMQ异步客户端/服务器模式,该模式由服务器端的ZMQ ROUTER套接字(在指定端点上监听)和多个已连接的ZMQ DEALER套接字(作为已连接的客户端)共同组成。ZMQ指南描述了此模式的功能,如下所示:
· 客户端连接到服务器并发送请求。
· 对于每个请求,服务器发送0个或更多的答复。
· 客户端可以发送多个请求,而无需等待答复。
· 服务器可以发送多个答复,而无需等待新的请求。
多个DEALER到ROUTER套接字模式图示:
2. 状态
Sawtooth定义了三种连接状态(关于任何两个节点之间的连接):
· 未连接
· 已连接-连接是进行对等互连的必要先决条件。
· 对等连接-一种构成应用程序级信息传递的基础的双向关系。