【软件系统构架】初步理解软件系统构架

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。


文章目录

  • 前言
  • 一、动静分离
  • 二、CDN加速
  • 三、负载均衡
  • 四、微服务
  • 五、分布式
  • 六、读写分离
  • 七、分库分表
  • 八、集群部署
  • 九、消息队列
  • 十、异步处理


前言

在以往的学习工作中,接触到很多概念,并且很可能都不知道干嘛,就比如OSI七层模型、TCP/IP四层模型、三层架构与MVC模式等,这些概念在你了解系统构架后,就会发现其真正的价值所在。这里介绍本人对软甲构架的理解,着重汇总相关概念并融入系统构架过程。系统构架应该是一个随着系统复杂度升高而不断变化的,在我想来它的主要目的一直都是维持系统的稳定。常见的六种构架如下:

  1. 单库单应用架构:最简单的,大家都见过
  2. 内容分发架构:目前用的比较多
  3. 读写分离架构:对于大并发的查询、业务
  4. 微服务架构:适用于复杂的业务模式的拆解
  5. 多级缓存架构:可以把缓存玩的很好
  6. 分库分表架构:解决单体数据库瓶颈

下面是一份系统构架的简易图,可以留作参考。
【软件系统构架】初步理解软件系统构架_第1张图片

每一套软件系统都有系统性能指标,比如吞吐量、并发量、响应时间等,我们几乎可以预估到系统的上限何时来临,基于解决系统瓶颈发展出了很多技术。


一、动静分离

只有一台服务器,后端程序既要处理动态请求,还需要处理静态页面,很快就会达到cpu和io上限

二、CDN加速

:静态文件分流

三、负载均衡

:动态请求分流

四、微服务

:网关和应用拆分

五、分布式

:领域业务的运算并发,文件的存储

六、读写分离

:数据库

七、分库分表

:数据库

八、集群部署

:mysql、redis、mq等优化。

九、消息队列

十、异步处理

你可能感兴趣的:(Python全家桶,架构)