这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
后端架构
架构
有关软件整体结构与组件的抽象描述、用于指导软件系统哥哥方面的设计
SOA:应用的不同功能单元抽象为服务、定义服务间的通信标准
微服务架构:SOA的去中心化演进方向
企业级后端架构
云计算
通过软件自动化管理,提供计算资源的服务网络
IaaS:基础设施即服务,比如只提供服务器或虚拟机之类的基础设施,主要产品包括:Amazon EC2,IBM Blue Cloud和Cisco UCS等
PaaS:平台即服务,将软件研发的平台作为一种服务,PaaS也是SaaS模式的一种应用,提供操作系统、数据库,主要产品包括:Google App Engine,heroku和Windows Azure Platform等。
SaaS:软件即服务,提供应用软件,通过SaaS这种模式,用户只要接上网络,并通过浏览器,就能直接使用在云端上运行的应用,而不需要管理或控制任何云计算基础设施,SaaS主要面对的是普通的用户,主要产品包括:Salesforce Sales Cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等。
FaaS:Functions as a Service的缩写,可以广义的理解为功能服务化,也可以解释为函数服务化。使用FaaS只需要关注业务代码逻辑,无需关注服务器资源,可以说FaaS提供了一个更加细分和抽象的服务化能力。
云原生
在公有云、自由云、混合云等新型动态环境中,为构建和运行可弹性拓展的应用提供了可能。
弹性计算资源类型
服务资源调调度:微服务、大服务
计算资源调度:在线、离线
消息队列:在线、离线
弹性存储资源类型
将存储资源当成服务
经典(对象、大数据)、关系型数据库、元数据、NoSQL
DevOps
结合自动化流程、提供软件开发、交付效率,贯穿整个软件开发周期,是云原生时代软件交付的利器
微服务架构
通信标准:HTTP、RPC
不必在业务逻辑中实现符合通信标准的交互逻辑,交给框架做
服务网格
微服务之间通讯的中间层、高性能网络代理、业务代码与治理解耦