软件架构简史

根据软件系统在运行期的表现风格和部署结构,咱们能够粗略地将其划分为两大类。前端

 

(1)整个系统的全部功能单元,总体部署到同一个进程(全部代码能够打包成 1 个或多个文件),咱们能够称之为 “单体架构”(Monolithic Architecture);后端

 

(2)整个系统的功能单元分散到不一样的进程,而后由多个进程共同提供不一样的业务能力,咱们称之为 “分布式架构”(Distributed Architecture)。架构

 

再结合软件系统在整个生命周期的特色,咱们能够进一步区分不一样的架构风格。框架

 

对于单体架构,咱们根据设计期和开发实现期的不一样模式和划分结构,能够分为:前后端分离

 

简单单体模式:代码层面没有拆分,全部的业务逻辑都在一个项目(Project)里打包成一个二进制的编译后文件,经过这个文件进行部署,并提供业务能力;分布式

 

MVC 模式:系统内每一个模块的功能组件按照不一样的职责划分为模型(Model)、视图(View)、控制器(Controller)等角色,并以此来组织研发实现工做;微服务

 

先后端分离模式:将先后端代码耦合的设计改成前端逻辑和后端逻辑独立编写实现的处理模式;架构设计

 

组件模式:系统的每个模块拆分为一个子项目(SubProject),每一个模块独立编译打包成一个组件,而后全部须要的组件一块儿再部署到同一个容器里;设计

 

类库模式:A 系统须要复用 B 系统的某些功能,这时能够直接把 B 系统的某些组件做为依赖库,打包到 A 系统来使用。生命周期

 

对于分布式架构,咱们根据设计期的架构思想和运行期的不一样结构,能够分为:

 

面向服务架构(Service Oriented Architecture):以业务服务的角度和服务总线的方式(通常是 WebService 与 ESB)考虑系统架构和企业 IT 治理;

 

分布式服务架构(Distributed Service Architecture):基于去中心化的分布式服务框架与技术,考虑系统架构和服务治理;

 

微服务架构(MicroServices Architecture):微服务架构能够看作是面向服务架构和分布式服务架构的拓展,使用更细粒度的服务(因此叫微服务)和一组设计准则来考虑大规模的复杂系统架构设计。

 

也有人把如上的各个架构风格总结为四个大的架构发展阶段:

 

(1)单体架构阶段

(2)垂直架构阶段

(3)SOA 架构阶段

(4)微服务架构阶段

相关文章
相关标签/搜索