Home  >  Article  >  What are the message middlewares?

What are the message middlewares?

coldplay.xixi
coldplay.xixiOriginal
2020-07-02 15:27:5010657browse

Message middleware includes: 1. Kafka is mainly designed for high-throughput subscription and publishing systems, pursuing speed and persistence; 2. RabbitMQ is an open source message queue system developed using the Erlang language and is based on the AMQP protocol. Implementation; 3. RocketMQ is developed in pure Java and has high throughput.

What are the message middlewares?

Message middleware includes:

Kafka, RabbitMQ, RocketMQ

1 , Kafka

What are the message middlewares?

Kafka is LinkedIn's open source distributed publish-subscribe messaging system and is currently a top-level Apache project. Kafka is mainly designed for high-throughput subscription and publishing systems, pursuing speed and durability. Messages in Kafka are composed of keys, values, and timestamps. Kafka does not record who uses each message. It only records which messages are unread through offsets. In Kafka, you can specify a consumer group to implement the subscription and publishing function.

2. RabbitMQ

What are the message middlewares?

RabbitMQ is an open source message queue system developed using the Erlang language and implemented based on the AMQP protocol. The main features of AMQP are message-oriented, queue-oriented, routing (including point-to-point and publish/subscribe), reliability, and security. The AMQP protocol is mostly used in enterprise systems, in scenarios where data consistency, stability and reliability are very high, and performance and throughput requirements are secondary.

3. RocketMQ

RocketMQ is Alibaba’s open source message middleware. It is developed in pure Java and has high throughput, high availability, and is suitable for large-scale distributed systems. Application features. The RocketMQ idea originated from Kafka, but it is not a copy of Kafka. It optimizes the reliable transmission and transaction of messages. It is currently widely used in Alibaba Group for transactions, recharges, stream computing, message push, log streaming, Binlog distribution and other scenarios. There are not many supported client languages, currently Java and C, of ​​which C is not yet mature;

5, Comparison of Kafka, RabbitMQ, RocketMQ

What are the message middlewares?

1. Rabbitmq is more reliable than kafka, and kafka is more suitable for high IO throughput processing, such as ELK log collection.

2. Kafka has high throughput. It adopts message batch processing and zero-copy mechanism internally. Data storage and acquisition are local disk sequential batch operations, with O(1) complexity. Message processing The efficiency is very high. rabbitMQ is slightly inferior to kafka in terms of throughput. Their starting points are different. rabbitMQ supports reliable delivery of messages, supports transactions, and does not support batch operations; based on storage reliability requirements, storage can use memory or hard disk.

The above is the detailed content of What are the message middlewares?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn