当前位置: 首页 > news >正文

消息队列-持续更新中

消息队列

0、消息队列官方参考文档

MQ官方参考文档
RocketMQ 官方文档: https://rocketmq.apache.org/docs/quick-start/
RocketMQ 中国开发者中心:http://rocketmq.cloud/zh-cn/
Kafka 官方文档: http://kafka.apache.org/documentation/
RabbitMQ 官方文档: https://www.rabbitmq.com/documentation.html

1、为什么需要消息队列

(1)异步处理:
比如秒杀场景需要5个步骤:风险控制、库存锁定、生成订单、短信通知、数据统计
如果同步处理完这5个步骤再返回秒杀结果,耗时较长
使用MQ时,可以只完成风险控制、库存锁定步骤,发送MQ消息,订单服务、短信服务、数据统计服务消费该消息
好处:秒杀期间把资源用于秒杀请求,秒杀结束后再处理后续步骤
在这里插入图片描述

(2)流量控制:
秒杀场景,使用消息队列隔离网关和后端服务,防止后端系统被打爆
在这里插入图片描述

(3)服务接耦:
如电商系统中,订单服务需要讲订单数据同步到下游的支付系统、风控系统、客服系统等
如果使用接口调用,需要维护与多个下游系统的接口交互
使用MQ,订单服务只需要把订单实时数据及变更发送到消息队列,下游服务订单主题

2、如何选择消息队列

在这里插入图片描述
Kafka更关注的是整体的吞吐量,设计思想为批量和异步
RocketMQ的设计选择更多的是尽量及时处理请求
所以RocketMQ响应时延更低,配置合理时,可达2~3毫秒

相关文章:

  • leetcode刷题记录(一百零八)——322. 零钱兑换
  • 【Python项目】基于Django的医疗领域用户问答意图识别系统
  • HTML应用指南:利用GET请求获取全国泸溪河门店位置信息
  • 如何利用 Vue 的生命周期钩子进行初始化和清理操作?
  • 第30篇 基于ARM A9处理器用C语言实现中断<六>
  • 文本分类与情感分析算法
  • nodejs npm install、npm run dev运行的坎坷之路
  • 华为昇腾服务器固件Firmware、驱动Drive、CANN各自的作用与联系?
  • 下载或者引入库
  • 14.7 LangChain Experimental 模块解析:解锁 Auto-GPT 开发新范式
  • 【Python】03-Python语法入门
  • 如何通过Origins公链推动边缘计算的物联网应用
  • 【Spring中事务的传播行为有哪些?】
  • go 并发 gorouting chan channel select Mutex sync.One
  • 大语言模型:从开发到运行的深度解构
  • WPF 中显示图形的方式深度解析
  • 2025年度福建省职业院校技能大赛高职组“信息安全管理与评估”赛项样题
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-split_dota.py
  • 【AI绘画】大卫• 霍克尼风格——自然的魔法(一丹一世界)
  • 云手机如何进行经纬度修改
  • 英欧再“牵手”,友好“靠美国”
  • 全国首例闭环脊髓神经接口手术在浙江完成,截瘫患者实现自主行走
  • 上影节开幕影片《酱园弄·悬案》,陈可辛执导,章子怡主演
  • 英伟达推出新技术加速AI芯片连接,期望构建互联互通生态
  • 国家发改委:正在会同有关方面,加快构建统一规范、协同共享、科学高效的信用修复制度
  • 这位中国电影早期的全能奇才,90年前唱响国歌