【架构设计】单体软件分布式化思考

单体软件

单体软件是历史悠久的软件架构形态,以下是一个简单的前后端分离的单体架构的 web 软件。
请求 转发 客户端 代理层 服务 数据库

分布式部署

单体软件采用分布式方案部署,是根据需求而定的。

为了满足不同场景下的需求,单体软件中的客户端、代理层、服务、数据库,都可以以多个副本联合起来,提供服务的方式部署,这种部署方式叫做分布式部署。

这种多个副本共同提供服务的形式叫做集群服务(注意,不是分布式服务)。

客户端分布式

客户端分布式示意图
请求 转发 请求 请求 客户端1 代理层 服务 数据库 ... 客户端2

很显然,客户端天然是分布式的。

代理层分布式部署

请求 转发 请求 转发 请求 转发 客户端 代理层1 服务 数据库 ... 代理层n

现实中,仅对单体服务的代理层进行分布式

服务分布式部署

请求 转发 转发 转发 客户端 代理层 服务1 数据库 ... 服务n

数据库分布式部署

请求 转发 客户端 代理层 服务 数据库1 ... 数据库n

相关推荐
没有bug.的程序员13 分钟前
JAVA面试宝典 -《分布式ID生成器:Snowflake优化变种》
java·分布式·面试·总结
铭keny15 分钟前
用 Ray 跨节点调用 GPU 部署 DeepSeek 大模型,实现分布式高效推理
分布式
Linux-palpitate36 分钟前
kafka的部署
分布式·kafka
loopdeloop1 小时前
基于CentOS的分布式GitLab+Jenkins+Docker架构:企业级CI/CD流水线实战全记录
分布式·docker·centos
柏峰电子1 小时前
分布式光伏气象站:光伏产业的智慧守护者
人工智能·分布式
飘飘渺渺渺红尘2 小时前
消息中间件(Kafka VS RocketMQ)
分布式·kafka·rocketmq
黄雪超2 小时前
Kafka——生产者压缩算法
大数据·分布式·kafka
义薄云天us7 小时前
028_分布式部署架构
人工智能·分布式·架构·claude code
心平愈三千疾9 小时前
学习秒杀系统-实现秒杀功能(商品列表,商品详情,基本秒杀功能实现,订单详情)
java·分布式·学习
搞数据的小杰17 小时前
spark广播表大小超过Spark默认的8GB限制
大数据·数据库·分布式·spark