This is my third day of the Challenge. More details: Challenge common MQ products

Rabbitmq is based on the Advanced Message Queue (AMQP) protocol. Erlang is an open standard in the application layer. Clients and middleware based on this protocol can send messages without receiving clients. Development language, etc.

In amQP, the above roles are defined. In the middle box are message middleware, Publisher producer, Consumer, Exchange, switch, Routes, Queue message Queue. The producer produces messages and sends them to the messaging middleware. The switch sends them to different message queues through routing rules, and the consumers listen to the message queues and get the message consumption.

The RabbitMQ infrastructure is as follows

Basic concepts of RabbitMQ

  • Broker: RabbitMq service to receive and distribute messages.
  • Connection: THE TCP Connection established between the producer and consumer and the Broker,
  • Channel: a Channer is a logical connection created within a Conection
  • Virtial host: Divide the basic components of the AMQP into a virtual group. When multiple users use the same RabbitMQ service, it can be divided into multiple vhosts. Each user creates a route and message queue at their vhost.
  • Exchange: The first destination of a message to the Broker. The message is sent to a queue based on a routing key matching the routing rules. Direct, topic, fanout
  • Queue: This is where messages are stored and consumed by consumers
  • Binding: The virtual link between the Exhange and queue contains a routing key Binding. The Binding message is stored in the Exchange query table and is used as a basis for message distribution

The basic process is that the Producer establishes TCP connections between the Connection and the Broker. The Connection has many channels, small connections, and exchanges in different Virtual systems. The Exchange is sent to the Queue using a Binding rule, and the Consumer establishes a connection with the producer to consume the message.

The RabbitMQ working mode (www.rabbitmq.com/getstarted….

I’ve been working overtime. I’ll write it tomorrow