云原生架构体系演进之路

# 单体架构 ## 单体架构一览 - 1. 业务部署在单台服务器中 - 2. 业务逻辑耦合为单体 ![image.png](https://cos.easydoc.net/97954506/files/l1nj4m9u.png) **适合小规模团队** |优势:|劣势:| |-|-|-| |部署简单|无法应对更大的流量| |功能集中|多人团队协作耗时| |前期独立开发|性能不足| |成本低|大单体维护成本高| ## 单体架构的演进 **通过缓存来避免压力透传和雪崩** - 应用和数据分离 - 增加缓存 ![image.png](https://cos.easydoc.net/97954506/files/l1nk45kr.png) **缓存层抗压力** - 数据库高可用 - 数据库读写分离 ![image.png](https://cos.easydoc.net/97954506/files/l1nke36j.png) **应用服务器集群,缓存层高可用,这样就足够了吗?** ![image.png](https://cos.easydoc.net/97954506/files/l1nkjd3o.png) **通过CDN进行加速,通过LB进行代理** ![image.png](https://cos.easydoc.net/97954506/files/l1nklo6r.png) ## 单体架构的局限 ![image.png](https://cos.easydoc.net/97954506/files/l1nkqzk4.png) # 分布式架构 ## 分布式架构一览 **基本理论** ACID (数据库事务) BASE CAP 一致性 ![image.png](https://cos.easydoc.net/97954506/files/l1oef44f.png) 优势 1. 并发 2. 可扩展 3. 容错 4. 资源共享 5. 灵活 劣势 1. 复杂性 2. 安全 3. 服务管理 4. 不可控因素(网络等) ![image.png](https://cos.easydoc.net/97954506/files/l1p05xxy) 优势 1. 分布式 2. 松耦合 3. 灵活扩展 4. 可重用 劣势 1. 抽象力度大 2. 接口耦合 # 微服务架构 ## 微服务架构一览 1. 抽象力度小 2. 服务独立 ![image.png](https://cos.easydoc.net/97954506/files/l1prbwig.png) 优势: 1. 复杂度可控 2. 独立部署 3. 灵活选型 4. 限流/熔断 5. 可扩展 劣势: 1. 部署复杂度 2. 资源占用 3. 运维复杂度 4. 监控/报警/日志复杂度 # 云原生架构 ## 云原生架构一览 ### 以docker为首的容器技术 镜像是标准化交付单元 资源隔离 ### 以kubernetes为首的容器编排技术 故障自愈 资源调度 服务编排 ![image.png](https://cos.easydoc.net/97954506/files/l1pu9qdy) 优势: 1. 降低成本 2. 提高效率 3. 标准化 劣势 复杂性:维护复杂性,组件较多 ![image.png](https://cos.easydoc.net/97954506/files/l1puwmmy.png) **Serverless** 1. 降低运营成本 2. 降低开发成本 3. 降低管理成本 **架构演进** 1. 降本增效 2. 便利性 3. 安全性 4. 符合业务需要