java - 消息队列和队列是一个概念吗?一般什么情况会考虑到用消息队列?
怪我咯
怪我咯 2017-04-18 09:41:35
[Java讨论组]

求指教!刚学rabbitmq

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
黄舟

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

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

为什么用消息队列

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

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

黄舟

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

天蓬老师

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号