这是我参与「第五届青训营 」伴学笔记创作活动的第7天
常见软件架构:
-
单机 所有功能在一个进程中进行,部署在一台机子上
-
单体||垂直应用-分布式部署,运维不需要停服 在软件设计时经常使用经典的3层模型,即表现层,业务逻辑层,数据访问层。虽然在软件设计中划分了3层模型,但是对业务场景没有划分,所以典型的单体架构就是将所有的业务场景的表现层,业务逻辑层,数据访问层放在一个工程中最终经过编译,打包,部署在一台服务器上。垂直应用:是对单体的业务逻辑应用垂直切分。
-
SOA (Service Oriented Architecture) 将各个系统的不同功能单元抽象为服务,服务间彼此通过标准的接口协议连接起来,并以此完成特定功能的实现。当出现新的业务需求时,不需要从零开始实现,只需将已有的服务进行编排装配来实现新业务。
-
微服务 (Microservice)|SOA的去中心化发展,服务细分 微服务:微服务是SOA思想的一种提炼,它强调业务系统彻底的组件化和服务化,通过有效的拆分系统,实现敏捷开发和部署。原有的单个业务系统被拆分为多个可以独立开发,设计,运行和运维的小应用,这些小应用之间通过服务完成交互和集成。(SOA是对异构系统的服务化,微服务专注服务的拆分)
云计算
- IaaS基础即服务:云服务基础,常提供基础资源
- SaaS软件即服务:完全承担软件的开发,管理,部署等
- PaaS平台即服务:提供软件部署平台,用户只需关注自己的业务需要设计软件
- FaaS函数即服务:无服务体系结构常用于微服务