架构设计(六):引入消息队列

架构设计,引入,消息,队列 · 浏览次数 : 87

小编点评

**架构设计(六):引入消息队列** **第一部分:生产者(发布者)** * 创建消息,并将其发布到消息队列中。 **第二部分:消费者(订阅者)** * 连接到队列,并执行消息所定义的动作。 **消息队列架构** **流程** 1. 生产者创建消息并将其发布到消息队列中。 2. 消费者连接到队列,并从队列中读取消息。 3. 消息处理程序执行消息定义的任务。 4. 消息处理完成后,消费者将其消费并处理结果。 **优点** * 组件化,可扩展和可靠。 * 异步通信,减少阻塞操作。 * 消息队列可以处理大量请求并实现解耦。 **参考资料** *博客园:架构设计(六):引入消息队列 * CSDN:架构设计(六):引入消息队列消息队列是一个支持持久化的组件,数据存储在内存中,支持异步通信。 * System Design Interview。归纳总结以上内容。

正文

架构设计(六):引入消息队列

作者:Grey

原文地址:

博客园:架构设计(六):引入消息队列

CSDN:架构设计(六):引入消息队列

消息队列是一个支持持久化的组件,数据存储在内存中,支持异步通信。它作为一个缓冲器,分配异步请求。消息队列的基本架构很简单,包含两个部分

第一部分:输入服务,称为生产者/发布者,创建消息,并将其发布到消息队列中。

第二部分:其他服务或服务器,称为消费者/订阅者,连接到队列,并执行消息所定义的动作。

img

消息队列可以实现服务之间的解耦,成为构建可扩展和可靠的应用程序的首选架构。有了消息队列,生产者可以在消费者无法处理消息时将其发布到队列中。即使生产者不可用,消费者也可以从队列中读取消息。

以下示例说明了消息队列的使用方式

假设某个应用是用来处理照片定制,包括剪裁、锐化、模糊等。这些定制任务需要相对长的时间来完成。

应用服务器(生产者)将「照片处理作业」发布到消息队列中。照片处理程序(消费者)从消息队列中接过作业,异步地执行照片定制任务。生产者和消费者可以独立扩展。当队列的规模变大时,会增加更多的消费者实例以减少处理时间。然而,如果队列大部分时间是空的,可以减少生产者的实例数量。

参考资料

System Design Interview

与架构设计(六):引入消息队列相似的内容:

架构设计(六):引入消息队列

架构设计(六):引入消息队列 作者:Grey 原文地址: 博客园:架构设计(六):引入消息队列 CSDN:架构设计(六):引入消息队列 消息队列是一个支持持久化的组件,数据存储在内存中,支持异步通信。它作为一个缓冲器,分配异步请求。消息队列的基本架构很简单,包含两个部分 第一部分:输入服务,称为生产

架构设计(三):引入缓存

架构设计(三):引入缓存 作者:Grey 原文地址: 博客园:架构设计(三):引入缓存 CSDN:架构设计(三):引入缓存 缓存是一个临时存储区域,如果请求的数据获取代价比较高或者数据的访问频率比较高,则会把响应结果存储在内存中,以便更快速地提供后续请求。 每次加载一个新的网页,都要执行一次或多次数

Dubbo架构设计与源码解析(三)责任链模式

作者:周可强 一、责任链模式简介 1、责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

大模型重塑软件开发,华为云AI原生应用架构设计与实践分享

在ArchSummit全球架构师峰会2024上,华为云aPaaS平台首席架构师马会彬受邀出席,和技术爱好者分享AI原生应用引擎的架构与实践。

[转帖]后台性能优化实践实战

近年来公司的业务数据量和用户流量都呈现出了非常迅猛的增长趋势,为了解决历史架构设计中的不足,应对诸多因素引发的风险并保证通天塔平台的稳定运行,通天塔后端组专项成立了一个“通天塔后端技术优化组”,号召并鼓励团队每个人积极参与进来,全盘分析和梳理、技术设计和技术Review、形成技术优化需求、排期、自测

架构设计(七):日志、监控和自动化

架构设计(七):日志、监控和自动化 作者:Grey 原文地址: 博客园:架构设计(六):日志、监控和自动化 CSDN:架构设计(六):日志、监控和自动化 针对小型网站,日志、监控和自动化支持是很好的做法,但不是必须的。然而,如果网站已经发展到为大型企业服务,日志、监控和自动化工具是必不可少的。 日志

高可用系列文章之四 - 总结

前文链接 高可用系列文章之一 - 概述 - 东风微鸣技术博客 (ewhisper.cn) 高可用系列文章之二 - 传统分层架构技术方案 - 东风微鸣技术博客 (ewhisper.cn) 高可用系列文章之三 - NGINX 高可用实施方案 - 东风微鸣技术博客 (ewhisper.cn) 六 总结 高

架构设计(一):从单服务器模式到负载均衡设计

# 架构设计(一):从单服务器模式到负载均衡设计 作者:[Grey](https://www.cnblogs.com/greyzeng/) 原文地址: [博客园:架构设计(一):从单服务器模式到负载均衡设计](https://www.cnblogs.com/greyzeng/p/16980532.h

架构设计(二):数据库复制

架构设计(二):数据库复制 作者:Grey 原文地址: 博客园:架构设计(二):数据库复制 CSDN:架构设计(二):数据库复制 在架构设计(一):从单服务器模式到负载均衡设计中提到了数据库类型的选择, 针对大数据量,高可用的场景,数据库复制是一种比较好的方式,其中多个数据库实例之间可以是主/从关系

架构设计(四):CDN

架构设计(四):CDN 作者:Grey 原文地址: 博客园:架构设计(四):CDN CSDN:架构设计(四):CDN CDN 全称 Content delivery network ,即:内容分发网络。 CDN 是一个地理上分散的服务器网络,主要用于提供静态内容。如:图片、视频、CSS、JavaSc