3 个回答

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

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

为什么用消息队列

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题