消息队列

1. 什么是消息队列(what)?

“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。-- 百度百科

官方的不管是什么都是这个样子,总是能把一些简单的东西说的复杂。简单一点:消息队列是一个存放消息的容器,它控制容器中消息的执行顺序。

2. 为什么要使用消息队列 (why)?

传统的程序执行方式是即时、同步、串行的,在某些业务场景下存在并发低、程序响应时间过长。

3. 使用消息队列解决了什么问题 ?

降低了系统的耦合度,提高了系统性能及可用性。

4. 消息队列有什么特性 ?

消息的发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制。

队列的多队列、内存限制、启动、停止、守护。

消息队列可降级为同步执行。

5. 那些场景适用消息队列 ?

允许延后:抢购活动时,先快速的缓存有限的参与人数到消息队列,后续再排队处理实际的抢购业务。

允许异步:业务处理过程中的邮件、短信通知。

允许并行:用户支付成功后,邮件、微信通知。通知的时间不要求先后顺序。

允许失败和重试:强一致性的业务放入核心流程处理。无一致性要求或者最终一致即可的业务放入队列处理。

以上是通过阅读 https://github.com/coolseven/notes/blob/master/thinkphp-queue/README.md 总结下来的,感觉这种方式理解起来比较简单,同时又能有个深刻的印象。如果有错的地方欢迎指正!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值