消息队列-RabbitMQ学习笔记(一)

1. 什么是消息队列

消息队列(Message Queue,简称MQ)是一种用于在应用程序之间传递消息的技术,通常在分布式系统中使用。它提供了一种异步通信机制,使得应用程序可以通过发送和接收消息来进行数据交换。

消息队列可以用来存储消息,这就涉及到消息队列的三个关键字:存储、消息、队列

问:什么是存储?

答:存储意味着可以保存数据或者是消息

问:什么是消息?

答:消息可能是某种数据结构,例如:字符串、对象、二进制、JSON数据等

问:什么是队列?

答:一种先进先出的数据结构

消息队列的应用场景(作用):在多个不同的系统、应用之间实现消息的传输(也可以存储)。不需要考虑传输应用的编程语言、系统、框架等等。例如,可以让 java 开发的应用发消息,让 php 开发的应用收消息,这样就不用把所有代码写到同一个项目里(应用解耦)。

2. 消息队列模型

消息队列主要由四部分组成:消息生产者(producer)、消息消费者(consumer)、消息(message)和消息队列(queue)

类比:快递员送快递,不用等取件人来拿,可以把快递存入到快递柜,然后发送取件通知给收货人,等到收货人有空的时候去快递柜取出快递。这个过程中快递员不用等收件人来取,取件人也不用特地去取快递,等有空时候取出快递柜里的包裹就可以了。节省了双方的时间。

可以看出消息队列的一个主要优点是可以集中存储消息,使得消息的发送者和接收者无需同时在线,实现了发送者和接收者的解耦。这就是消息队列的核心作用。

消息队列模型总结:

生产者:Producer,类比为快递员,发送消息的人(客户端)

消费者:Consumer,类比为取快递的人,接受读取消息的人(客户端)

消息:Message,类比为快递,就是生产者要传输给消费者的数据

消息队列:Queue ,类比快递柜,就是用来存储消息的地方

问:为什么不直接传输,要用消息队列?

答:生产者不用关心你的消费者要不要消费、什么时候消费,我只需要把东西给消息队列,我的工作就算完成了。 生产者和消费者实现了解耦,互不影响。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值