Chapter 5. Installing AMQ Interconnect
You can deploy AMQ Interconnect as a single standalone router, or as multiple routers connected together in a router network. Router networks may represent any arbitrary topology, enabling you to design the network to best fit your requirements.
With AMQ Interconnect, the router network topology is independent from the message routing. This means that messaging clients always experience the same message routing behavior regardless of the underlying network topology. Even in a multi-site or hybrid cloud router network, the connected endpoints behave as if they were connected to a single, logical router.
To create the router network topology, complete the following:
Review the deployment guidelines.
You should understand the different router operating modes you can deploy in your topology, and be aware of security requirements for the interior portion of the router network.
Install AMQ Interconnect on the host.
If you are creating a router network with multiple routers, repeat this step on each host.
Prepare the router configurations.
After installing AMQ Interconnect, configure it to define how it should connect to other routers and endpoints, and how it should operate.
After the routers are configured, start them so that they can connect to each other and begin routing messages.
5.1. Installing AMQ Interconnect on Red Hat Enterprise Linux
AMQ Interconnect is distributed as a set of RPM packages, which are available through your Red Hat subscription.
Procedure
Ensure your subscription has been activated and your system is registered.
For more information about using the Customer Portal to activate your Red Hat subscription and register your system for packages, see Appendix A, Using your subscription.
Subscribe to the required repositories:
- Red Hat Enterprise Linux 6
$ sudo subscription-manager repos --enable=amq-interconnect-1-for-rhel-6-server-rpms --enable=amq-clients-2-for-rhel-6-server-rpms
- Red Hat Enterprise Linux 7
$ sudo subscription-manager repos --enable=amq-interconnect-1-for-rhel-7-server-rpms --enable=amq-clients-2-for-rhel-7-server-rpms
- Red Hat Enterprise Linux 8
$ sudo subscription-manager repos --enable=amq-interconnect-1-for-rhel-8-x86_64-rpms --enable=amq-clients-2-for-rhel-8-x86_64-rpms
Use the
yum
ordnf
command to install theqpid-dispatch-router
,qpid-dispatch-tools
, andqpid-dispatch-console
packages and their dependencies:$ sudo yum install qpid-dispatch-router qpid-dispatch-tools qpid-dispatch-console
Use the
which
command to verify that theqdrouterd
executable is present.$ which qdrouterd /usr/sbin/qdrouterd
The
qdrouterd
executable should be located at/usr/sbin/qdrouterd
.
5.2. Preparing router configurations
After installing AMQ Interconnect, configure it to define how it should connect to other routers and endpoints, and how it should operate. If you are creating a router network, complete this workflow for each router in the network.
Prerequisites
- AMQ Interconnect is installed on the host.
Procedure
Configure essential router properties.
To participate in a router network, a router must be configured with a unique ID and an operating mode.
Configure network connections.
Connect the router to any other routers in the router network.
Repeat this step for each additional router to which you want to connect this router.
- If the router should connect with an AMQP client, configure a client connection.
- If the router should connect to an external AMQP container (such as a message broker), configure the connection.
- Secure each of the connections that you configured in the previous step.
(Optional) Configure any additional properties.
These properties should be configured the same way on each router. Therefore, you should only configure each one once, and then copy the configuration to each additional router in the router network.
If necessary, configure policies to control which messaging resources clients are able to access on the router network.
AMQ Interconnect automatically routes messages without any configuration: clients can send messages to the router network, and the router automatically routes them to their destinations. However, you can configure the routing to meet your exact requirements. You can configure the routing patterns to be used for certain addresses, create waypoints and autolinks to route messages through broker queues, and create link routes to connect clients to brokers.
You can set the default logging configuration to ensure that events are logged at the correct level for your environment.
- Repeat this workflow for each additional router that you want to add to the router network.
5.3. Starting a router
You use the qdrouterd
command to start a router. You can start a router in the foreground, the background, or as a service.
Procedure
Do one of the following:
To… Enter this command… Start the router in the foreground
$ qdrouterd
Start the router in the background as a daemon
$ qdrouterd -d
Start the router as a service
Red Hat Enterprise Linux 6
$ sudo service qdrouterd start
Red Hat Enterprise Linux 7 and later versions
$ systemctl start qdrouterd.service
NoteIf you start the router as a service, the
systemd
LimitNOFILE
limit affects the number of connections that can be open for the router. If you reach the limit, the router is not able to accept any more connections, and an error message is logged indicating "Too many open files". To avoid reaching this limit, increase theLimitNOFILE
value for thesystemd
process.For more information, see How to set limits for services in RHEL 7 and systemd.