单体软件
单体软件是历史悠久的软件架构形态,以下是一个简单的前后端分离的单体架构的 web 软件。
请求 转发 客户端 代理层 服务 数据库
分布式部署
单体软件采用分布式方案部署,是根据需求而定的。
为了满足不同场景下的需求,单体软件中的客户端、代理层、服务、数据库,都可以以多个副本联合起来,提供服务的方式部署,这种部署方式叫做分布式部署。
这种多个副本共同提供服务的形式叫做集群服务(注意,不是分布式服务)。
客户端分布式
客户端分布式示意图
请求 转发 请求 请求 客户端1 代理层 服务 数据库 ... 客户端2
很显然,客户端天然是分布式的。
代理层分布式部署
请求 转发 请求 转发 请求 转发 客户端 代理层1 服务 数据库 ... 代理层n
现实中,仅对单体服务的代理层进行分布式
服务分布式部署
请求 转发 转发 转发 客户端 代理层 服务1 数据库 ... 服务n
数据库分布式部署
请求 转发 客户端 代理层 服务 数据库1 ... 数据库n