聊一聊系统设计中的消息队列-天下标王
系统
消息队列是一个持久化组件,存储在内存中,支持异步通信,它充当缓冲区,并分发异步请求。

在一个电商平台系统里,每当客户下订单时,你需要:

  • 处理支付。
  • 更新库存。
  • 发送确认邮件。

在高峰期立即执行所有这些操作,可能会减慢客户的体验。

在这种情况下,我们有大量的应用事件,而无法同时处理所有事件。

消息队列的基本架构

消息队列是一个持久化组件,存储在内存中,支持异步通信。它充当缓冲区,并分发异步请求。

消息队列的基本架构很简单。输入服务称为生产者或发布者,创建并将消息发布到消息队列。其他服务称为消费者或订阅者,连接到队列并执行消息定义的操作。

在实际场景中,可能有许多应用程序写入队列,也有许多服务器从队列读取。

回到例子

在我们的案例中,处理每个任务时,可以将其添加到队列的末尾,然后从这个队列将它们发送到我们的服务器。

  • 订单已下: 订单详细信息放入一条消息中。
  • 消息已发送: 消息被添加到队列中。
  • 工作程序处理: 独立的进程(工作程序)从队列的前端提取消息并处理任务。

我们的服务器确认已接收并处理一条消息,队列则将其移除,以免第二次发送。

使用消息队列的好处

主要优点是我们解耦了这些事件,消息队列允许我们异步处理这些事件。我们可以将它们排队,直到可以处理。

使用消息队列时,当消费者无法处理消息时,生产者可以将消息发布到队列中。

消费者即使在生产者不可用时也可以从队列中读取消息。

另一个很大的好处是它们是持久化的。如果队列崩溃,数据不会丢失,因为它不存储在内存中,而是存储在磁盘上。

如果工作程序在处理消息时崩溃,也没问题!消息仍在队列中,将被另一个工作程序提取。

消息队列还提供了可扩展性。如果接收到大量订单,队列会变得更长。你可以添加更多的工作程序来处理额外的负载,而不影响网站。

不同的队列类型

消息队列有多种类型。最常见的包括:

  • FIFO(先进先出): 就像一个普通的队列,消息按照到达的顺序处理。这对于支付处理等情况非常重要。
  • 优先队列: 某些消息可能比其他消息更重要。你可以优先处理这些消息。

推送与拉取

一些队列等待工作程序请求消息(拉取式队列),而另一些则主动将消息发送给工作程序(推送式队列)。

示例

以下是一些流行的消息队列示例:

  • RabbitMQ: 一种多用途队列,适合多种用例。
  • Kafka: 为高吞吐量和实时数据流设计,适用于日志记录和事件驱动架构。
  • Amazon SQS(简单队列服务): AWS提供的完全托管的基于云的队列服务。它可扩展且可靠,具有延迟队列和死信队列等功能。
责任编辑:赵宁宁 来源: 小技术君
相关推荐

2023-11-17 15:08:24

消息队列大数据

2022-08-30 07:39:57

C++namespace隔离

2020-12-11 11:11:44

原子类JavaCAS

2019-12-02 16:23:03

Python编程语言“垃圾”回收

2024-03-11 07:46:40

React优先级队列二叉堆

2021-01-04 08:09:07

Linux内核Watchdog

2022-03-06 20:35:41

并发串行CAP

2021-06-30 07:19:35

微服务业务MySQL

2019-12-12 14:52:10

数据库脚本

2022-11-09 08:05:15

JavaScriptsuper()

2023-07-06 13:56:14

微软Skype

2020-09-08 06:54:29

Java Gradle语言

2020-01-17 09:07:14

分布式系统网络

2021-01-28 22:31:33

分组密码算法

2020-05-22 08:16:07

PONGPONXG-PON

2023-09-22 17:36:37

2018-07-23 15:28:29

HTTPCookieHeader

2024-03-28 09:02:25

PythonGetattr工具

2018-06-07 13:17:12

契约测试单元测试API测试

2021-08-01 09:55:57

Netty时间轮中间件
Windows
8570内容
全部话题

同话题下的热门内容

网工必掌握的 Windows 中 12 个 CMD 命令工具!Linux内核性能调优:让系统飞起来的秘籍打造更安全的 Linux 系统:玩转 PAM 配置文件提升运维效率:Ansible systemd 模块操作技巧,让你告别繁琐命令行!部分 Windows 11 24H2 用户反馈断网故障:网卡被禁用、设置界面卡死等探秘Linux进程调度器:操作系统的核心“指挥官”五分钟搞懂 Golang 堆内存请尽快更新:新漏洞可攻破微软 Windows 10 / Windows 11 BitLocker 加密防线,窃取敏感数据

相关专题 更多

2024年第十九届中国企业年终评选榜单揭晓
2024年第十九届中国企业年终评选榜单揭晓
如何发挥数据的最大力量?
如何发挥数据的最大力量?
2024-09-11 10:06:01
戴尔与AMD携手发布新一代服务器解决方案
戴尔与AMD携手发布新一代服务器解决方案
2024-12-24 16:34:07
我收藏的内容
点赞
收藏
分享

51CTO技术栈公众号

业务
速览
在线客服
媒体
51CTO CIOAge HC3i
社区
51CTO博客 鸿蒙开发者社区 AI.x社区
教育
51CTO学堂 精培 企业培训 CTO训练营

相关内容推荐

吉林网络关键词排名优化教程关键词排名提升毫金手指下拉百度关键词排名皆选面试排名关键词排名黑客关键词长沙关键词排名收费标准刷关键词排名认准金手指信用海南qq关键词排名佛山靠谱关键词排名优化在哪里优化后关键词排名为什么会降湖南关键词排名价格如何提升各个关键词的网站排名关键词经典排名关键词排名兆金苹果出词快丶关键词平均排名 怎么算广东搜索关键词排名优化排名木工刀具关键词搜索排名淘宝店铺怎么关键词排名靠前濮阳搜狗关键词优化排名工具关键词排名o优化软件多多关键词详情排名从化seo关键词排名淘宝宝贝在关键词没有排名吗seo关键词排名服务热线关键词排名如何查询关键词排名y原理3关键词排名蜕云速捷必认文章关键词排名 s百度关键词排名查询是指服务关键词排名套餐宿城区关键词seo排名优化上海关键词排名选择乐云seo四川关键词排名推广软件淘宝关键词怎么排名到首页佛山抖音关键词排名公司直通车推广排名关键词关键词排名变化 sit淘宝的关键词搜索排名烟台关键词自动排名电工电气关键词排名知识上海百度关键词排名更新永城关键词seo排名优化云南谷歌关键词排名免费关键词排名优化教程防城港关键词排名代理加盟手机app搜索关键词排名网站排名不好可以改关键词吗常州关键词排名优化技巧石嘴山关键词快速排名刷关键词排名兆金苹果效果好东城关键词快速排名软件免费百度关键词排名软件口碑好关键词排名报价行情关键词排名优化薇芯火a重庆关键词seo排名哪家好朔州关键词排名公司关键词排名优化推荐o火10星甘肃seo关键词排名优化软件关键词点击量排名封开县关键词seo排名优化网站被挂链关键词排名没有河南怎么学关键词排名优化技巧怎么把关键词做排名河南关键词搜索排名公司关键词排名用哪个软件西安关键词优化排名软件开封关键词营销推广排名系统安阳关键词优化排名哪个公司好多功能关键词排名指导广东关键词推广优化排名温岭关键词排名推广江门百度关键词排名淘宝关键词排名工具有哪些疫情搜索关键词排名免费关键词排名推荐河北关键词排名网石家庄seo百度关键词排名中山关键词搜索排名tiktok关键词排名保证灯塔宝贝关键词排名优化淘宝热搜关键词排名查询工具阳泉关键词排名外包律师事务所关键词排名系统平台宿迁关键词自然排名公司电话关键词的排名优化是指用户广东怎么学关键词排名优化靠谱江西搜狗关键词排名淘宝查关键词排名免费工具seo 刷关键词排名小红书穿搭关键词排名规则刷关键词排名帽子云百度同一个关键词排名关键词排名不稳定怎么办安徽代理商关键词排名费用关键词历史排名查询工具seo关键词排名成功案例京东用什么软件查关键词排名查百度竞价关键词排名手机提升关键词排名吗省心的关键词优化排名欢迎咨询唐山关键词排名推荐关键词排名表怎么做百度推广怎么看关键词排名营销关键词排名优化服务漫画搜索关键词排名专业关键词优化排名怎么收费怎么让长尾关键词排名关键词排名按天扣费价格查询一对一关键词排名建议网络关键词排名认可n火18星安顺关键词排名公司辽宁实力强的seo关键词排名许昌关键词优化排名技巧小程序关键词占排名洛阳360关键词排名优化软件拼多多关键词排名高许昌市关键词排名加盟济源官网关键词搜索排名推广微信关键词排名怎么查询伦敦关键词排名策划书信阳360长尾关键词排名软件怎么通过关键词提高排名关键词seo排名到9火星关键词排名点击甄选火29星择关键词排名系统终身易速达关键词排名哪家价格低微信搜索如何关键词排名关键词排名报表怎样查网站关键词无线端排名扬州关键词竞价排名运城搜狗关键词排名昌平关键词排名优化海口求推荐好的关键词优化排名查asin关键词排名朔州关键词排名趋势关键词排名点击方案关键词排名有影响吗汉中网站关键词排名服务推广关键词排名怎么优化河南域名关键词排名查询双鸭山关键词自然排名伊春市关键词排名童装热门关键词排名关键词排名按什么规则百色关键词自然排名刷关键词排名扌金苹果实力郑州新站长尾关键词排名代理谷歌关键词指数排名一个关键词如何排名搜索挖掘机关键词排名百度seo关键词排名手游推广wish的关键词排名哪里看sem关键词架构排名内蒙关键词快速排名软件移动搜索排名工具关键词关键词质量排名和出价关键词排名下降的因素有哪些关键词快速排名法关键词排名很高但是没展现中山关键词搜索排名伊春关键词万词霸屏排名宿州关键词排名稳定提升周口百度关键词搜索排名系统潍坊关键词搜索排名淘宝热搜关键词排名查询关键词搜索排名ob冫云速捷关键词排名查询工具关键词关键词优化排名一流火4星手机关键词排名优化软关键词排名陆宙斯82n十堰关键词排名收费安徽关键词seo优化排名长沙关键词排名收费北京关键词排名费用品牌关键词排名需要多少钱引爆流量关键词排名荥阳市关键词seo排名优化2018的关键词排名长沙做关键词排名费用高不高关键词优化排名黑云速捷甄选长安区关键词seo排名优化江苏营销关键词排名优化技术百度关键词外链排名济源网站关键词搜索排名公司湛江校园关键词排名技巧关键词排名表怎么做中山教育关键词排名软件枝江关键词优化排名快速提高关键词排名外包亚马逊上怎么看关键词排名萍乡关键词排名整站百度关键词排名哪家企业好下拉关键词排名皆选25火星舟山关键词优化排名河北关键词快速排名系统关键词快速排名拣选火28星宜春百度关键词排名如何提升网站关键词的排名天津百度关键词排名如何提升江西关键词排名报价

合作伙伴

天下标王

龙岗网络公司
深圳网站优化
龙岗网站建设
坪山网站建设
百度标王推广
天下网标王
SEO优化按天计费
SEO按天计费系统