消息队列(MQ)

消息队列(MQ)

1.什么是消息队列

消息队列(Message Queue, MQ)是一种跨进程通信的方式,用于在分布式系统中解耦不同的组件,实现异步通信和流量削峰。

2.MQ的作用

解耦:生产者和消费者无需直接交互,只需要通过队列进行数据传输。

异步处理:提高系统的吞吐量,减少请求响应时间。

流量削峰:应对高并发场景,防止系统被突发请求压垮。

可靠通信:保证消息不会丢失,提高系统的可靠性。

数据分发:实现一对多或多对多的数据广播。

3.常见MQ组件

ActiveMQ:Apache的老牌消息队列,基于JMS规范。

RabbitMQ:基于Erlang开发,支持AMQP协议,功能强大。

RocketMQ:阿里巴巴开源,专为高吞吐量设计。

Kafka:适用于大数据和日志处理

4. MQ 的核心概念

生产者(Producer):发送消息的角色。

消费者(Consumer):接收并处理消息的角色。

消息(Message):生产者发送的具体数据。

队列(Queue):消息存储的容器,消费者从中拉取消息。

主题(Topic):用于发布/订阅模式,消息可被多个消费者接收。

交换机(Exchange):RabbitMQ 的概念,用于路由消息。

5. MQ 的工作模式

5.1 点对点(P2P)

消息被存储在一个队列中,每个消息只能被一个消费者消费。

5.2 发布/订阅(Pub/Sub)

生产者将消息发布到 Topic,多个订阅者都可以接收相同的消息。

5.3 生产-确认-消费机制

生产者发送消息到 MQ。

MQ 确认消息已存储(ACK 机制)。

消费者拉取或接收消息并处理。

消费者处理完成后确认(ACK)。

MQ 删除已确认的消息。

相关推荐

包邮辞海(第七版)(精装)
体育在线365

包邮辞海(第七版)(精装)

📅 09-19 👁️ 4013
当前位置首页>行业知识> pc材料的密度
365bet足球即时比分网

当前位置首页>行业知识> pc材料的密度

📅 07-13 👁️ 5109
李斯特音乐会练习曲《轻盈》演奏要点分析
365体育怎么打不开网址

李斯特音乐会练习曲《轻盈》演奏要点分析

📅 07-10 👁️ 2822