同一服务器和 epmd 上的多个 RabbitMQ 实例

Posted

技术标签:

【中文标题】同一服务器和 epmd 上的多个 RabbitMQ 实例【英文标题】:Multiple RabbitMQ instances on the same server and epmd 【发布时间】:2017-01-09 13:27:54 【问题描述】:

我在同一台服务器上有一个生产和登台网站,我希望他们每个人都使用单独的 RabbitMQ 实例。我正在使用一个 RabbitMQ 安装并运行两个 RabbitMQ 实例,其中两个 RabbitMQ 实例中的每一个都设置为通过环境变量使用不同的配置。

在这个设置中,两个 RabbitMQ 实例可以共享同一个 epmd 进程吗?还是在两个不同的端口上运行两个 epmd 进程以拥有完全分离的用于暂存和生产的基础架构更好?

【问题讨论】:

【参考方案1】:

我知道,在问题标题中,它写着same server and epmd,但如果你使用Docker images,实现你想要的会容易得多。基本上,它更清洁、更安全。一个 Docker 映像独立于其他映像(当然,除非您正在创建集群等)。天啊,这样一来,你甚至可以在一台服务器上拥有 N 个集群,更不用说 N 个 RMQ 实例了。

【讨论】:

【参考方案2】:

是的,他们可以。如果你想创建一个集群,你需要它。

发件人:http://erlang.org/doc/man/epmd.html

这个守护进程充当分布式 Erlang 计算所涉及的所有主机上的名称服务器

顺便说一句,我认为您不应该在同一台机器上进行登台和生产。

即使您决定将两者放在同一台机器上,您也不需要两个 epmd 服务。

【讨论】:

以上是关于同一服务器和 epmd 上的多个 RabbitMQ 实例的主要内容,如果未能解决你的问题,请参考以下文章

Windows 10 上的 RabbitMQ - 无法连接到 epmd:地址(无法连接到主机/端口)

主机 myhost 的 epmd 错误:Windows 10 上的地址(无法连接到主机/端口)

有没有办法阻止 Erlang 服务器自动启动 epmd?

解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口

Erlang EPMD

RabbitMQ 启动报错 ERROR: epmd error for host xxx: timeout (timed out)