Story #8061: develop queue-based processing system for the CN
develop federated broker configuration for indexing
#1 Updated by Rob Nahf about 5 years ago
from RMQ's networking page: (https://www.rabbitmq.com/networking.html)
looks like we need to open ports 5672 and 4369; and possibly 15672 and 25672
SELinux, and similar mechanisms may prevent RabbitMQ from binding to a port. When that happens, RabbitMQ will fail to start. Firewalls can prevent nodes and CLI tools from communicating with each other. Make sure the following ports can be opened:
4369: epmd, a peer discovery service used by RabbitMQ nodes and CLI tools
5672, 5671: used by AMQP 0-9-1 and 1.0 clients without and with TLS
25672: used by Erlang distribution for inter-node and CLI tools communication and is allocated from a dynamic range (limited to a single port by default, computed as AMQP port + 20000). See networking guide for details.
15672: HTTP API clients and rabbitmqadmin (only if the management plugin is enabled)
61613, 61614: STOMP clients without and with TLS (only if the STOMP plugin is enabled)
1883, 8883: (MQTT clients without and with TLS, if the MQTT plugin is enabled
15674: STOMP-over-WebSockets clients (only if the Web STOMP plugin is enabled)
15675: MQTT-over-WebSockets clients (only if the Web MQTT plugin is enabled)
It is possible to configure RabbitMQ to use different ports and specific network interfaces.
#3 Updated by Rob Nahf about 5 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
I got simple federated queueing working by setting up firewall rules between servers on ports 5672 and 4369 (administrative channel) and configuring 'upstreams' and policies.: A consumer on one machine can consume messages published on the other machine.
Still need to set up a different account, and maybe add some security, although maybe a named user for the process ("indexer" user) would be sufficient, since the ports are limited. Also figure out how to put the configuration in debian configuration. I stumbled across a rabbitmq.config that defines federated-queues.