Skip to content

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 TypePurposeDescription
Channel BindingDefines AMQP 1.0-specific channel configurations.Reserved for future use.
Operation BindingConfigures message publishing and consumption details.Reserved for future use.
Message BindingSpecifies message-level configurations.Reserved for future use.
Server BindingDefines AMQP 1.0-specific server configurations.Reserved for future use.

Supported Versions ​

VersionStatusKey Features
0.1.0LatestInitial 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.

yaml
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'

Binding Documentation ​

Channel Bindings ​

Operation Bindings ​

Message Bindings ​

Server Bindings ​