大型网站系统架构演化实例_8.业务拆分

1.第九阶段:业务拆分

大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将整个网站业务分成不同的产品线。如大型购物交易网站都会将首页、商铺、订单、买家、卖家等拆分成不同的产品线,分归不同的业务团队负责。

具体到技术上,也会根据产品线划分,将一个网站拆分成许多不同的应用,每个应用独立部署。应用之间可以通过一个超链接建立关系(在首页上的导航链接每个都指向不同的应用地址),也可以通过消息队列进行数据分发,当然最多的还是通过访问一个数据存储系统来构成一个关联的完整系统。

此时,网站系统架构如图1所示。

图1 第九阶段网站架构

2.消息队列服务器

2.1消息队列

消息:是指在应用系统之间传送的数据。队列:排队的模型 先进先出 类似于火车进隧道。消息队列(Message Queue)是一种应用间的通信方式。消息发布者只管把消息发布到MQ中而不管谁来取,消息使用者只管从MQ中取消息而不管谁发布的。

2.2消息队列的应用场景

**(1)应用耦合:**多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;

**(2)异步并行处理:**多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间;

**(3)限流削峰:**广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况;

**(4)消息驱动的系统:**系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理;

2.3常见的消息队列

当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,而部分数据库如Redis、MySQL以及phxsql也可实现消息队列的功能。

相关推荐
梦梦代码精12 小时前
《LikeShop全产品技术硬核拆解:ThinkPHP8+Vue3+UniApp架构,私有化部署与二次开发实战指南》
java·低代码·系统架构·php·开源软件
幻风_huanfeng19 小时前
高级软件架构师学习笔记----案例分析总览
系统架构·架构师·软考
微三云 - 廖会灵 (私域系统开发)1 天前
排队免单系统架构设计与实现原理|订单分红、队列算法、风控体系、多业态适配方案
系统架构
老郑聊AI业财智造1 天前
从“思考-行动”到“知行合一”:ReActAgent的架构原理与工程实践全景剖析
人工智能·架构·系统架构·软件工程·软件构建
Vicky_time1 天前
基于多仓群路由算法的中大件海外仓退货处理系统架构设计
系统架构
慢云智慧空间1 天前
从设备联网到空间理解,智能建筑的系统架构正在经历哪些关键变化?
python·系统架构
办公室马主任2 天前
PLM、ERP、MES的数据流转设计:研发BOM到制造BOM怎么衔接
系统架构·制造
郑州光合科技余经理2 天前
本地生活平台搭建:统一订单表与多后台切换怎么拆
java·开发语言·前端·系统架构·uni-app·php·ai编程
希赛网2 天前
2026年下半年软考系统架构设计师考试经典100题
系统架构·系统架构设计师·软考系统架构设计师·系统架构设计师考试·2026年软考·2026年下半年软考
刘广睿2 天前
独立开发桌面素材工作台的技术复盘:内置浏览器、下载队列与本地素材库
系统架构·electron·桌面应用·素材管理