消息队列| 青训营笔记

86 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第12天。

消息队列前世今生

四个案例解释消息队列能解决的问题

背景重述:

  • 有一天晚上晚上我们上完课,回到宿舍,想着新出的游戏机,但又摸了摸钱包,太贵了买不起,这个时候你突然想到,今天抖音直播搞活动,瞬间你掏出了手机打开抖音搜索,找到直播间以后,你点开了心心念念的游戏机详情页,看到价格只要500。这个时候我们分析-下,就我们上面这几步操作,在我们的程序背后,做了什么事情。
  • 案例一:系统崩溃--后端删库跑路 image.png
  • 解决方案:解耦
  • 增加消息队列进行缓存,消息队列作为一个容器储存用户记录并定时传入存储库,确保后台服务器宕机系统仍然可以正常运行
  • 案例二:无法处理海量请求
  • 订单数量庞大,系统处理不过来。
  • 解决方式:削峰
  • 每次只接受一定数量的请求
  • 案例三:app访问过慢
  • 用户体验感极其差
  • 解决方式:异步
  • 多路并行
  • 案例四:日志丢失
  • 服务器损坏导致本地日志丢失问题。
  • 解决方式: image.png

业内消息队列使用情况

image.png

消息队列-Kafka

使用场景

image.png

如何使用

image.png

基本概念

image.png

框架

image.png

消息队列- BMQ

兼容Kafka协议,存算分离,云原生消息队列

框架

image.png

组件对比

image.png

消息队列- RocketMQ

使用场景:例如,针对电商业务线,其业务涉及广泛,如注册、订单、库存、物流等;同时,也会涉及许多业务峰值时刻,如秒杀活动、周年庆、定期特惠等

基本概念

image.png

框架

image.png