TcpCommunicationSpi(CommunicationSpi) 和 TcpDiscoverySpi(DiscoverySpi) 的区别

ema*_*l07 4 ignite

在 ignite 文档中写道,TcpCommunicationSpi(CommunicationSpi) 使用 TCP/IP 与其他节点通信,而 TcpDiscoverySpi(DiscoverySpi) 使用 TCP/IP 进行节点发现。我认为 2(沟通和发现)的想法几乎相同。

请详细告诉我 TcpCommunicationSpi(CommunicationSpi) 和 TcpDiscoverySpi(DiscoverySpi) 和用法之间有什么区别?

dma*_*gda 5

节点使用 TcpDiscoverySpi 来构建和维护它们的集群。通过此 SPI 发送的消息是系统/内部的,它们从一个节点发送到另一个节点(左侧的邻居)。所以这意味着集群被组织成一个环,TcpDiscoverySpi 用于在节点之间交换内部信息。

另一方面,当一个节点需要直接向另一个节点发送消息(缓存放置/获取、计算、事件等)时,它使用 TcpCommunicationSpi 打开与远程节点的直接连接。