You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

AMQP (Advanced Message Queuing Protocol) is an open protocol for fast asynchronous message transfer between applications with minimal delay

The RabbitMQ message broker is used to maintain connections with external services via this protocol. Message brokers create a two-way connection with each system of applications. This connection is used to transmit messages, the messages are routed to corresponding destination points.

AMQP is based on three concepts:

  • Message – a unit of transmitted data, its main part (content) is not interpreted by the server. Structured headings may be attached to a message.
  • Exchange – an entity where messages are sent to but not stored there.
  • Queue – a holding location where the messages are stored until a consumer takes them. A consumer always takes the messages from one or several queues.

Processing sequence


  1. All messages, generated by the producer, are first accepted in the exchange.
  2. Here they are distributed between queues. Bindings are used to send messages to corresponding queues.
    • Sent messages remain in their queues until the consumer connects and receives messages.
  3. The consumer receives messages.
  4. AMQP implements a delivery verification mechanism: a message is not removed from a queue until an acknowledgement is received from the consumer.
    • If the response is negative, the message may be re-sent or removed from its queue depending on the producer's configuration settings.

Connect to a queue


To integrate and send messages through the RabbitMQ broker, set up a queue in the system:

  1. Navigate to External Queues → RabbitMQ providers.
  2. Click Create and fill in the required fields.
  3. Click Save or Save and Exit.

Field

Mandatory 

Description

Name

Y

Specify a name for created message queue. This queue name will be used to send messages from the API.

Host name

Y

Enter a RabbitMQ host name to connect to in the example.ru format.

Port

Y

Specify the server connection port.

Virtual host

N

Specify the host designated in the RabbitMQ server settings.

Connection time out

N

Set the RabbitMQ server connection time out.

Username

Y

Specify a user login for the RabbitMQ server connection.

Password

Y

Specify a user password for the RabbitMQ server connection.

To send messages to a queue, create a server script for message processing using the SimpleExternalRabbitMQ class.

  • No labels