Chapter 1. Overview
1.1. Key features
- An event-driven API that simplifies integration with existing applications
- SSL/TLS for secure communication
- Flexible SASL authentication
- Automatic reconnect and failover
- Seamless conversion between AMQP and language-native data types
- Access to all the features and capabilities of AMQP 1.0
1.2. Supported standards and protocols
1.3. Supported configurations
- Red Hat Enterprise Linux 6 (x86-64 only) and 7 with Node.js 6 and 8 from Software Collections
- Red Hat Enterprise Linux 8 with Node.js 10
- Microsoft Windows 10 Pro with Node.js 10
- Microsoft Windows Server 2012 R2 and 2016 with Node.js 10
- All versions of AMQ Broker
- All versions of AMQ Interconnect
- All versions of AMQ Online
- A-MQ 6 versions 6.2.1 and newer
1.4. Terms and concepts
This section introduces the core API entities and describes how they operate together.
Table 1.1. API terms
A top-level container of connections.
A channel for communication between two peers on a network. It contains sessions.
A context for sending and receiving messages. It contains senders and receivers.
A channel for sending messages to a target. It has a target.
A channel for receiving messages from a source. It has a source.
A named point of origin for messages.
A named destination for messages.
An application-specific piece of information.
A message transfer.
A sending peer creates a sender to send messages. The sender has a target that identifies a queue or topic at the remote peer. A receiving peer creates a receiver to receive messages. The receiver has a source that identifies a queue or topic at the remote peer.
The sending of a message is called a delivery. The message is the content sent, including all metadata such as headers and annotations. The delivery is the protocol exchange associated with the transfer of that content.
To indicate that a delivery is complete, either the sender or the receiver settles it. When the other side learns that it has been settled, it will no longer communicate about that delivery. The receiver can also indicate whether it accepts or rejects the message.
1.5. Document conventions
The sudo command
In this document,
sudo is used for any command that requires root privileges. Exercise caution when using
sudo because any changes can affect the entire system. For more information about
sudo, see Using the sudo command.
In this document, all file paths are valid for Linux, UNIX, and similar operating systems (for example,
/home/andrea). On Microsoft Windows, you must use the equivalent Windows paths (for example,
This document contains code blocks with variables that you must replace with values specific to your environment. Variable text is enclosed in arrow braces and styled as italic monospace. For example, in the following command, replace
<project-dir> with the value for your environment:
$ cd <project-dir>