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:

  1. 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.

  2. Install AMQ Interconnect on the host.

    If you are creating a router network with multiple routers, repeat this step on each host.

  3. 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.

  4. Start the routers.

    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

  1. 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.

  2. 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
  3. Use the yum or dnf command to install the qpid-dispatch-router, qpid-dispatch-tools, and qpid-dispatch-console packages and their dependencies:

    $ sudo yum install qpid-dispatch-router qpid-dispatch-tools qpid-dispatch-console
  4. Use the which command to verify that the qdrouterd 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

  1. Configure essential router properties.

    To participate in a router network, a router must be configured with a unique ID and an operating mode.

  2. Configure network connections.

    1. 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.

    2. If the router should connect with an AMQP client, configure a client connection.
    3. If the router should connect to an external AMQP container (such as a message broker), configure the connection.
  3. Secure each of the connections that you configured in the previous step.
  4. (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.

    • Authorization

      If necessary, configure policies to control which messaging resources clients are able to access on the router network.

    • Routing

      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.

    • Logging

      You can set the default logging configuration to ensure that events are logged at the correct level for your environment.

  5. 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

    Note

    If 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 the LimitNOFILE value for the systemd process.

    For more information, see How to set limits for services in RHEL 7 and systemd.