消息队列

本文详细介绍了消息队列的概念,包括其组成部分(生产者、Broker和消费者),以及点对点模式和发布/订阅模式。文章还探讨了消息队列在解耦、异步处理、流量控制、日志处理和通讯广播等方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

什么是消息队列?

消息队列模式

消息队列应用场景

 什么是消息队列?

消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的传输的方式存储,一个消息队列可以被一个也可以被多个消费,包含以下3元素:

        Producer:消息生产者,负责产生和发送消息到Broker;

        Broker:消息处理中心,负责消息存储、确认、重试等,一般其中包含多个Queue;

        Consumer:消息消费者,负责从Broker中获取消息,并进行相应处理。

消息队列模式

        点对点模式:多个生产者可以向同一个消息队列发送消息,一个具体的消息只能由一个消费者消费。

        发布/订阅模式:单个消息可以被多个订阅者并发的获取和处理。

消息队列应用场景

        应用解耦:消息队列减少了服务之间的耦合性,不同的服务可以通过消息队列进行通信,而不用关心彼此的实现细节。

        异步处理:消息队列本身是异步的,它允许接受者在消息发送很长时间后再取回消息。

        流量削峰:当上下游系统处理能力存在差距的时候,利用消息队列做一个通用的“载体”,在下游有能力处理的时候,再进行分发与处理。

        日志处理:将消息队列用在日志处理中,例如Kafka的应用,解决大量日志传输的问题。

        消息通讯:消息队列一般都内置了高效的通信机制,因此也可以用在消息通讯,比如实现点对点消息队列,或者聊天室等。

        消息广播:如果没有消息队列,每当一个新的业务方接入,我们都要接入一次新接口。有了消息队列,我们只需要关心消息是否送达了队列,至于谁希望订阅,是下游的事情,极大地减少了开发和联调的工作量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值