架构初探 | 青训营笔记

74 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

经典架构

首先,了解了几种常见的,经典的架构设计

1.单机架构:

把所有功能都实现在一个进程里,并部署在一台机器上

缺点:运维需要停服、可能出现C10K问题,比如新到来一个TCP连接,就需要分配1个进程(或者线程)。而进程又是操作系统最昂贵的资源,一台机器无法创建很多进程。如果是C10K就要创建1万个进程,那么单机而言操作系统是无法承受的

2.单体、垂直应用:

垂直应用架构,按应用垂直切分的单体

缺点:

  • 职责太多,开发效率低
  • 爆炸半径大

3.SOA架构(Service-Oriented Architecture)

  • 将应用的不同功能单元抽象为服务
  • 定义服务之间的通信标准

4.分布式微服务架构:在SOA架构的基础上进行去中心化演进

企业架构

企业架构主要为分布式微服务项目,以及云原生等

其基础概念如下:

云计算:通过软件自动化管理,提供计算资源的服务网络,是线代互联网大规模熟悉分析和存储的基石。

云计算应用:虚拟化基础、编排方案。

云计算架构:IaaS(使用基础设施)、PaaS(使用平台)、SaaS(使用硬件)、FaaS(使用功能)。

云原生:为组织再公有云、自由云、混合云等动态环境中构建和运行可弹性扩展的应用提供了可能性。

云原生构成:弹性资源、微服务架构、DevOps、服务网络。

弹性资源:虚拟化容器、快速扩缩器。

微服务架构:业务功能解耦、统一通信标准。

总结

总体来说,对于企业开发来说,没有最好的架构,只有最适合的架构,架构没有银弹

如何做好架构设计?

  1. 需求先行
  2. 业界调研
  3. 技术选型
  4. 异常情况