架构
简介
架构又称软件架构,是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计,通俗点来说就是实现一个软件有很多方法,架构在方法选择上起着至关重要的知道作用
单机架构
软件系统需要具备对外提供服务,单机就是把所有功能是现在一个进程里,并部署在一台机器上
优点: 简单
缺点: 运维需要停服
单体架构、垂直应用架构
单机架构: 分布式部署
垂直应用架构: 按应用垂直切分的单体
优点: 水平扩容、运维不需要停服
缺点: 职责太多,开发效率底、爆炸半径达
SOA、微服务
SOA: 将应用的不同功能单元抽象为服务,定义服务之间的通信标准
微服务: SOA的去中心化演进方向
缺点: 数据一致性、可用性程度、如何治理、解耦和过微的取舍
云计算
云计算是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石
基础: 虚拟化技术和编排方案
架构: IaaS、PaaS、SaaS、FaaS
云原生
云原生技术为组织在公有云、自由云、混合云等新兴的动态环境中,构建和运行可弹性拓展的应用提供了可能
弹性资源计算
类型
服务资源调度:微服务、大服务
计算资源调度
- 在线:热销榜单
- 离线:热销榜单更新
消息队列
- 在线:削峰
- 离线:大数据分析
弹性存储资源
类型
经典
- 对象:宣传视频
- 大数据:用户消费记录
关系型数据库:收银记录
元数据:服务发现
NoSQL
DevOps
DevOps是云原生时代软件交付的利器,贯穿整个软件开发周期,结合自动化流程,提高软件开发,交付效率