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

单体软件

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

分布式部署

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

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

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

客户端分布式

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

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

代理层分布式部署

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

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

服务分布式部署

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

数据库分布式部署

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

相关推荐
ACP广源盛139246256734 小时前
GSV5600@ACP#多接口协议转换芯片,物理 AI 便携终端的互联核心
大数据·人工智能·分布式·嵌入式硬件·spark
极客先躯8 小时前
高级java每日一道面试题-2026年02月12日-实战篇[Docker]-什么是容器的 Seccomp 配置?如何自定义?
java·运维·分布式·docker·容器·自动化·文件
Francek Chen8 小时前
【大数据处理与分析】MapReduce:06 MapReduce编程实践
大数据·hadoop·分布式·mapreduce
小马爱打代码9 小时前
Kafka消息队列监控:Topic积压、吞吐量、Broker负载及消费者组全观测
分布式·kafka
轻口味9 小时前
轻规划鸿蒙开发实战10:分布式数据同步深度博弈,UserId 隔离与并发数据冲突消解机
分布式·华为·harmonyos·鸿蒙
Solis程序员9 小时前
Raft:分布式系统的定海神针
java·分布式·kafka·rabbitmq·agent·raft
我是一颗柠檬10 小时前
【Java项目技术亮点】Leaf号段模式双Buffer优化
java·开发语言·分布式·后端·架构
芒鸽10 小时前
HarmonyOS 分布式开发实战:设备协同、数据共享与跨设备迁移
分布式·wpf·harmonyos
省四收割者10 小时前
从硬件中断到分布式协程:全景解构高并发机制与 C / Golang 的巅峰对决
c++·分布式·嵌入式硬件·golang
知识分享小能手10 小时前
Hadoop学习教程,从入门到精通, HBase 分布式数据库 — 完整知识点与案例代码(8)
数据库·hadoop·分布式