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

单体软件

单体软件是历史悠久的软件架构形态,以下是一个简单的前后端分离的单体架构的 web 软件。

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

分布式部署

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

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

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

客户端分布式

客户端分布式示意图

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

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

代理层分布式部署

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

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

服务分布式部署

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

数据库分布式部署

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

相关推荐

  1. 架构设计单体软件分布式思考

    2024-01-18 13:56:05       37 阅读
  2. 架构设计单体软件向微服务演变

    2024-01-18 13:56:05       38 阅读
  3. 软件架构设计模式:微服务与单体架构的比较

    2024-01-18 13:56:05       15 阅读
  4. 架构设计(1)分布式架构

    2024-01-18 13:56:05       1 阅读
  5. 软件架构设计 Azure架构

    2024-01-18 13:56:05       14 阅读
  6. 2024-05-29 架构-程序设计-思考

    2024-01-18 13:56:05       11 阅读
  7. 系统架构22 - 软件架构设计(1)

    2024-01-18 13:56:05       34 阅读

最近更新

  1. 专业课笔记——(第十二章:文件的读写)

    2024-01-18 13:56:05       0 阅读
  2. lvs集群

    2024-01-18 13:56:05       0 阅读
  3. Perl 语言入门学习

    2024-01-18 13:56:05       0 阅读
  4. 大模型/NLP/算法面试题总结3——BERT和T5的区别?

    2024-01-18 13:56:05       1 阅读
  5. 单元测试核心类备忘

    2024-01-18 13:56:05       1 阅读

热门阅读

  1. 开发实践7_文件上传

    2024-01-18 13:56:05       30 阅读
  2. Python基础篇 - 列表推导式(List Comprehension)

    2024-01-18 13:56:05       32 阅读
  3. 华为HCIE课堂笔记第十六章 Qos基本原理

    2024-01-18 13:56:05       23 阅读
  4. helm中的_helpers.tpl文件语法解析

    2024-01-18 13:56:05       32 阅读
  5. Android 实现跑马灯效果

    2024-01-18 13:56:05       31 阅读
  6. 阿里云1T空间服务器多少钱一年?

    2024-01-18 13:56:05       39 阅读
  7. sql编程——join,concat,except,union all的使用举例。

    2024-01-18 13:56:05       31 阅读
  8. iOS 字符串中的字母大小写转换、首字母大写转换

    2024-01-18 13:56:05       31 阅读
  9. linux 内核ARM32启动

    2024-01-18 13:56:05       32 阅读
  10. idea个人常用快捷键汇总

    2024-01-18 13:56:05       39 阅读
  11. 去除GIT某个时间之前的提交日志

    2024-01-18 13:56:05       36 阅读
  12. ElasticSearch设置用户名密码访问

    2024-01-18 13:56:05       30 阅读