1 什么是架构
有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。
1.1 单机架构
所有功能都实现在一个进程里,并部署在一台机器上。
1.2 单体架构
分布式部署单机架构
1.3 垂直应用架构
按应用垂直切分的单体架构
1.4 SOA架构
- 将应用的不同功能单元抽象为服务
- 定义服务之间的通信标准
1.5 微服务架构
SOA的去中心化演进方向
2 企业级后端架构剖析
2.1 云计算
通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。
2.1.1 IaaS
忽略硬件设施
2.1.2 PaaS
不需要自己来维护
2.1.3 SaaS
忽略软件实现
2.1.4 FaaS
实现方法
2.2 云原生
在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。
- 弹性资源
- 微服务架构
- DevOps
- 服务网格
3 企业级后端架构的挑战
3.1 离在线资源并池
降低物理资源成本,提供更多的弹性资源,增加收入
3.2 自动扩缩容
降低业务成本
3.3 微服务亲和性部署
- 将满足亲和性条件的容器调度到一台宿主机
- 微服务中间件与服务网格通过共享内存通信
- 服务网格控制面实施灵活、动态的流量调度
3.4 流量治理
- 熔断、重试
- 单元化
- 复杂环境的流量调度
3.5 CPU水位负载均衡
IaaS提供资源探针,服务网格动态负载均衡