一、定义
架构,又称软件架构。是有关软件整体结构与组件的抽象描述;用于指导软件系统各个方面的设计
二、架构的分类
单机架构
软件系统需要具备对外提高服务,单机就是把所有功能都实现在一个进程里,并部署在一台机器上。
优点:简单。
缺点:运维需要停服;C10K problem。
单体架构
使用分布式部署。
垂直应用架构
即按应用垂直切分的单体。
优点:水平扩容;运维不需要停服。
缺点:职责太多,开发效率不高;爆炸半径大。
SOA(service-oriented architecture)
将应用的不要功能单元抽象为服务;定义服务直接的通信标准。
微服务架构
SOA的去中心化演进方向。
三、云计算
1.定义
指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石。
3.云计算基础
虚拟化技术、编排技术
4.云计算下的四层架构
IaaS(Infrastructure as a Service)
PaaS(Platform as a Service)
SaaS(Software as a Service)
FaaS(Function as a Service)
云原生技术为组织/公司在公有云、自由云、混合云等新型动态环境中构建和运行可弹性扩展的应用提供了可能。
5.云原生的特性
弹性资源:虚拟化容器,快速扩缩容;
微服务架构:业务功能单元解耦,统一的通信标准;
DevOps:敏捷开发,CI/CD;
服务网络:业务与治理解构,异构系统的治理统一化,复杂治理能力。
弹性计算资源类型:服务资源调度;计算资源调度;消息队列。