对等网格

网格是对等节点的命名集合(互连图),可以相互通信,并由唯一网格 ID 标识。 每个节点都连接到多个其他节点。 在连接良好的网格中,任何两个节点之间存在路径,网格最边缘的节点之间的跃点相对较少,即使某些节点或连接退出,网格也会保持连接状态。网格中的活动节点使用相应的网格 ID 发布其终结点信息,以便其他对等方可以找到它们。

使用对等通道创建的网格的特征

标识唯一性

  • 唯一 ID 标识每个网格。 网格的名称(或网格 ID)的格式与域名系统(DNS)主机名相同。 因此,在所使用的解析程序的作用范围内,该网格 ID 对应用程序的目标客户端而言必须是唯一的。 公用名(如“MyFamilysPeers”或“KevinsPokerTable”)可能很容易与其他用户名发生冲突,并可能返回意外的对等终结点信息,这可能会导致隐私问题或增加连接延迟。 避免这些问题的一种方法可能是将唯一 ID 作为后缀添加到网格的昵称(例如,“KevinsPokerTable90210”)。

消息泛滥

  • 该网格允许将消息从一个或多个发送方传播到同一网格中的所有其他对等节点。 由对等节点发送的消息洪流使用 http://schemas.microsoft.com/net/2006/05/peer 上的命名空间中指定的标头。

优化的连接

  • 当节点加入和离开时,对等通道网格会自动调整,确保所有节点都具有良好的连接性,几乎没有机会创建分区(彼此隔离的节点组)。 网格中的连接也根据当前流量模式动态优化,以便从发送方到接收方的消息延迟尽可能小。

了解对等通道没有提供的一些常用网络功能非常重要。 这些功能可能全部构建在对等通道之上,其中包括:

  • 消息排序: 源自单个源的消息可能不会按相同顺序或源发送的顺序到达所有其他方。 要求按一定顺序传递消息的应用程序必须将此功能内置到应用程序中(例如,通过在所有消息中包含一个单调递增的 ID)。

  • 可靠消息传送: 对等通道不包括确保所有对等方接收消息的机制。 若要保证消息传递,必须在 Peer Channel 之上编写可靠层。