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