首页 文章

JGroups UDP用于成员身份,但TCP用于消息传递?

提问于
浏览
0

我们正在构建一个基于jgroups的集群节点消息系统,该系统将取代基于JDBC的集群节点消息系统 . 我的组织中有很多人担心向已经繁忙的网络添加更多的组播流量,所以我在UDP /组播解决方案上得到了一些阻力 .

我知道JGroups可以配置为仅TCP,但我不想强制配置步骤进入应用程序,其中必须在配置文件中提前识别每个节点 .

我当时希望看看我们是否可以在这里使用混合工作,其中多播仅用于组成员操作(发现,心跳,故障检测),但是消息传递都是基于TCP的 .

但是,我没有在我的搜索中找到相关的示例,因此我质疑JGroups是否可以这样配置 .

可以,以及任何示例配置显示如何?

谢谢!

1 回答

  • 0

    至于发现,使用MPING可以做到这一点 - 它使用IP多播来发现新节点,尽管这些稍后通过主传输(在您的情况下为TCP)进行响应 .

    至于FD / FD_ALL,我认为不可能,协议被设计为使用主传输 . 你必须编写自己的FD协议,不应该那么复杂 .

    但是,如果您可以使用UDP,则可能应该使用UDP . 您是否向一个节点,多个节点或所有节点发送消息取决于您 - 对于一个目的地,将有单播UDP,对于少数目的地(如果您设置任播选项)将使用多个单播并且仅针对所有节点UDP将通过多播减少网络负载 . 这完全取决于应用程序,UDP只允许多播 .

相关问题