AMQP 1.0 Protocol Bindings
The Advanced Message Queuing Protocol (AMQP) 1.0 is an open standard for passing business messages between applications or organizations. It defines a binary wire protocol that allows for interoperable, secure, and reliable messaging. AsyncAPI provides bindings for AMQP 1.0 to define its specific configurations.
What is AMQP 1.0?
AMQP 1.0 is a wire-level protocol, which means it defines the format of the data that is sent over the network. It is a peer-to-peer protocol with a symmetric communication model. Key features include:
- Interoperability: Connects applications written in different languages and running on different operating systems.
- Reliability: Supports various levels of message delivery guarantees, from at-most-once to exactly-once.
- Security: Provides authentication and encryption mechanisms.
- Flexibility: Does not prescribe a specific topology of queues and exchanges, offering more flexibility than AMQP 0-9-x versions.
AsyncAPI AMQP 1.0 Bindings Overview
The AMQP 1.0 bindings for AsyncAPI allow you to describe how your API interacts with an AMQP 1.0 message broker.
Binding Types
Binding Type | Purpose | Description |
---|---|---|
Channel Binding | Defines AMQP 1.0-specific channel configurations. | Reserved for future use. |
Operation Binding | Configures message publishing and consumption details. | Reserved for future use. |
Message Binding | Specifies message-level configurations. | Reserved for future use. |
Server Binding | Defines AMQP 1.0-specific server configurations. | Reserved for future use. |
Supported Versions
Version | Status | Key Features |
---|---|---|
0.1.0 | Latest | Initial support for AMQP 1.0 bindings. All bindings are reserved for future use. |
Use Cases
AMQP 1.0 is well-suited for a variety of use cases, including:
Financial Services
- Transaction Processing: Reliably process financial transactions where message loss is not an option.
- Market Data Feeds: Distribute real-time market data to a large number of clients.
Telecommunications
- Billing Systems: Exchange billing information between different systems in a secure and reliable manner.
Internet of Things (IoT)
- Device Communication: Provide a secure and interoperable way for IoT devices to communicate with backend systems.
Getting Started
Here is a basic example of how to use AMQP 1.0 bindings in an AsyncAPI document. Note that as of version 0.1.0, the binding objects are empty placeholders.
asyncapi: 2.6.0
info:
title: Account Service
version: 1.0.0
servers:
production:
url: amqp://test.broker.com:5672
protocol: amqp
protocolVersion: '1.0.0'
bindings:
amqp1:
bindingVersion: '0.1.0'
channels:
user/signedup:
bindings:
amqp1:
bindingVersion: '0.1.0'
subscribe:
operationId: userSignedUp
bindings:
amqp1:
bindingVersion: '0.1.0'
message:
$ref: '#/components/messages/UserSignedUp'
components:
messages:
UserSignedUp:
payload:
type: object
properties:
displayName:
type: string
email:
type: string
format: email
bindings:
amqp1:
bindingVersion: '0.1.0'
Related Resources
Binding Documentation
Channel Bindings
- AMQP 1.0 Channel Binding v0.1.0 - Reserved for future use.
Operation Bindings
- AMQP 1.0 Operation Binding v0.1.0 - Reserved for future use.
Message Bindings
- AMQP 1.0 Message Binding v0.1.0 - Reserved for future use.
Server Bindings
- AMQP 1.0 Server Binding v0.1.0 - Reserved for future use.