关于服务器集群搭建中的端口问题

错误报告

环境

  • EMQX 版本:V4.4.14
  • 操作系统版本:CentOS7

问题描述

使用场景

部署服务器集群,有三个节点,节点名分别为node.name = emqx@10.100.81.243、node.name = emqx@10.100.81.244、node.name = emqx@10.100.81.245
我发现集群发现端口模式有两种:epmd模式和ekka模式。我有下面几点疑惑想咨询一下

问题疑惑:

  1. epmd模式和ekka模式有什么异同点呢,哪一种更加的稳定,或者有相应的参考文件吗
  2. 在ekka模式下,因为ListeningPort = BasePort + Offset,由于我的节点名设置,会导致三个节点的集群节点发现端口都是4370,这样对于集群的搭建会有影响吗。同时集群节点PRC通道的端口也会都会是相同的5370端口,会有影响吗。
  3. epmd模式下,集群节点发现端口(默认4369)可以自己修改吗,如果能够修改的话三个节点的修改值有什么关联吗,是否需要修改为相同值;默认的分布式通道监听端口(6369)能否修改,能够修改的话三个节点的修改中有什么关联吗,是否需要修改为相同值?

  1. 一般来说用 ekka 模式(默认)更加稳定,因为不需要启动额外的 epmd Linux 程序就可以集群。epmd 模式是需要启动一个监听在 4369 端口的 epmd 程序作为服务发现机制的。

  2. 你的三个节点是在不同的机器上的,所以虽然都是 4370 也不会有端口冲突的问题。rpc 通道同理,都使用 5370 端口,不会有什么问题。

  3. epmd 模式中,epmd 程序会监听在 4369 端口,epmd 是独立的一个进程,端口是不能修改的。

下面这两个配置只有在 epmd 模式下才有用,表示 emqx 将监听在哪个端口范围内:

node.dist_listen_min = 6369
node.dist_listen_max = 6369

如果用了 ekka 模式,emqx 一定是监听在 4370 + Offset 端口。