RabbitMQ message queue series of tutorials (1) understanding RabbitMQ

RabbitMQ message queue series of tutorials (1) understanding RabbitMQ


RabbitMQ is the most popular messaging middleware and a powerful tool for handling high-concurrency services. In this series of tutorials, we will learn RabbitMQ with everyone.

table of Contents

  • What is RabbitMQ?
  • What are the characteristics of RabbitMQ?

1. What is RabbitMQ?

RabbitMQ is currently the most popular open source message middleware developed based on Erlang, similar to message queue components such as MSMQ and ActiveMQ. RabbitMQ is lightweight, and it is very easy to deploy whether it is on-premises or in the cloud. It supports multiple message protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale and high-availability requirements. RabbitMQ supports multiple operating systems and cloud environments, and provides a series of programming language development tools. Official website address: http://www.rabbitmq.com

The full name of MQ is Message Queue, and Message Queue (MQ) is an application-to-application communication method. The application communicates by reading and writing messages (data for the application) going into and out of the queue, without the need for a dedicated connection to link them. Message passing refers to the communication between programs by sending data in messages, rather than by directly calling each other to communicate. Direct calling is usually used for technologies such as remote procedure calls. Queuing refers to applications that communicate through queues. The use of queues removes the requirement for simultaneous execution of receiving and sending applications.

2. What are the characteristics of RabbitMQ?

1. Asynchronous messages

Supports multiple message protocols, message queuing, transmission confirmation, flexible routing to queues, and multiple exchange types.

2. Excellent developer experience

Can be deployed on BOSH, Chelf, Docker and Puppet. You can even choose your favorite programming language to develop cross-language messages, such as Java, .NET, PHP, Python, Javascript, Ruby, Go language and so on.

3. Distributed deployment

It is very convenient to deploy load-balanced clusters to achieve high availability and throughput. Easily combine multiple availability zones and blocks.

4. Enterprise-level and cloud support

Authorization verification, support TLS and LDAP protocol. It can be easily deployed in public and private clouds.

5. Rich tools and plug-ins

Provide a variety of tools and plug-ins to support continuous integration, operational indicators and integration with other enterprise systems. You can use flexible plug-in methods to extend RabbitMQ functionality.

6. Easy to manage and monitor

You can easily use HTTP-API, command line tools or other UI tools to manage and monitor RabbitMQ.

Reference: https://cloud.tencent.com/developer/article/1082904 RabbitMQ message queue series of tutorials (1) Understanding RabbitMQ-Cloud + Community-Tencent Cloud