Chapter 2. Component Overview

Red Hat AMQ consists of AMQ Broker, AMQ Clients, and a new kind of messaging server called AMQ Interconnect. They work together to enable remote communication among distributed client 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.

See Getting Started with AMQ Broker for more information.

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.

See Using AMQ Interconnect for more information.

2.3. AMQ Clients

AMQ Clients is a collection of AMQP 1.0 messaging APIs for multiple languages and platforms. It includes JMS 2.0 support and new, event-driven APIs to enable integration into existing applications.

2.4. 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 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 Core Protocol JMS

Java

JVM

Core Protocol

AMQ OpenWire JMS

Java

JVM

OpenWire

See Red Hat AMQ Supported Configurations for more information.