Chapter 2. Component overview

Red Hat AMQ consists of AMQ Broker, AMQ Interconnect, AMQ Online, and AMQ Clients. They work together to enable network communication in distributed applications.

2.1. AMQ Broker

AMQ Broker is a full-featured, message-oriented middleware broker. It offers advanced addressing and queueing, fast message persistence, and high availability. AMQ Broker supports multiple protocols and operating environments, enabling you to use your existing assets. AMQ Broker supports integration with Red Hat JBoss Enterprise Application Platform.

For more information, see Getting Started with AMQ Broker.

2.2. AMQ Interconnect

AMQ Interconnect provides flexible routing of messages between AMQP-enabled endpoints, including clients, brokers, and standalone services. With a single connection into a network of AMQ Interconnect routers, a client can exchange messages with any other endpoint connected to the network.

AMQ Interconnect does not use master-slave clusters for high availability. It is typically deployed in topologies of multiple routers with redundant network paths, which it uses to provide reliable connectivity. AMQ Interconnect can distribute messaging workloads across the network and achieve new levels of scale with very low latency.

For more information, see Using AMQ Interconnect.

2.3. AMQ Online

AMQ Online is an OpenShift-based system for delivering messaging as a managed service. With AMQ Online, administrators can configure a cloud-native, multi-tenant messaging service either in the cloud or on premise. Developers can provision messaging using the Red Hat AMQ Console. Multiple development teams can provision the brokers and queues from the AMQ Online console, without requiring each team to install, configure, deploy, maintain, or patch any software.

For more information, see Using AMQ Online on OpenShift.

2.4. AMQ Clients

AMQ Clients is a suite of AMQP 1.0 and JMS clients, adapters, and libraries. It includes JMS 2.0 support and new, event-driven APIs to enable integration into existing applications.

For more information, see AMQ Clients Overview.

AMQP clients

JMS clients

Adapters and libraries

2.5. Component compatibility

The following table lists the supported languages, platforms, and protocols of AMQ components. Note that any components supporting the same protocol can interoperate, even if their languages and platforms differ. For instance, AMQ Python can communicate with AMQ JMS.

Table 2.1. AMQ component compatibility

ComponentLanguagesPlatformsProtocols

AMQ Broker

-

JVM

AMQP 1.0, MQTT, OpenWire, STOMP, Core Protocol

AMQ Interconnect

-

Linux

AMQP 1.0

AMQ Online

-

OpenShift

AMQP 1.0

AMQ C++

C++

Linux, Windows

AMQP 1.0

AMQ JavaScript

JavaScript

Node.js, browsers

AMQP 1.0

AMQ JMS

Java

JVM

AMQP 1.0

AMQ .NET

C#

.NET

AMQP 1.0

AMQ Python

Python

Linux

AMQP 1.0

AMQ Ruby

Ruby

Linux

AMQP 1.0

AMQ Spring Boot Starter

Java

JVM

AMQP 1.0

AMQ Core Protocol JMS

Java

JVM

Core Protocol

AMQ OpenWire JMS

Java

JVM

OpenWire

AMQ JMS Pool

Java

JVM

-

For more information, see Red Hat AMQ 7 Supported Configurations.