首页 > 消息队列和队列是一个概念吗?一般什么情况会考虑到用消息队列?

消息队列和队列是一个概念吗?一般什么情况会考虑到用消息队列?

求指教!刚学rabbitmq


我们最近也在准备用消息队列

先来说下我对消息队列的理解。消息队列跟队列本质上是一个东西,因为功能不一样所以名字有区别,首先队列是一种数据结构,特点就是先进先出,后今后出,这跟堆栈刚好相反。最简单的消息队列其实也是用队列这种数据结构实现的。我们把消息按照先进先出的规则一个一个的放进队列里,这个过程叫做进队,然后在队头一个一个取出来叫做出队。

为什么用消息队列

  1. 用消息队列处理并发插入数据一致性的问题,例如用户注册这个功能,假如同时有两个用户同时注册名为"bugall"的用户,这时候因为并发的原因就会都插入,结果就是出现了同账号的用户。

  2. 解耦,我们用生产机来接受用户请求,然后把用户请求放入消息队列,消费机从队列里取请求进行处理


队列不只能存消息 能存对象 值 消息队列可以看作存储消息的队列 当你的业务是分布的 并且处理的事情是先后有序的 并且不需要立即返回结果 而是可以慢慢处理 后续给结果 那么就可以用消息队列


简单点说,虽然这么说不太严谨,针对用队列来通信来说,线程间通信用queue,比如BlockingQueue,进程间通信用mq

【热门文章】
【热门文章】