【软件架构篇】常见可扩展模式

1、可扩展

为了实现一个需求,需要修改系统代码时,若修改代码对已存在的功能影响非常小,那么说明原有系统的可扩展性高;若修改代码对已存在的功能影响非常大,那么说明原有系统的可扩展性低。

设计一个系统时,需要考虑可扩展性,以当下次对系统进行修改时,减小对系统已有功能的影响程度。可扩展性需要在后续接到新需求时才能被检验。

设计可扩展时用的方法,万变不离其中,一个字即拆,以此来实现高内聚,低耦合。

2、常见可扩展模式

根据不同的拆分方式,将得到不同的可扩展架构模式。
面向流程拆分:分层架构。
面向服务拆分:SOA和微服务。
面向功能拆分:微内核架构。

流程、服务、功能,根据范围由大到小依次为流程>服务>功能。

3、分层架构

常见的分层架构有MVC,model层又分为业务逻辑层、数据层等。
使用场景:实现后端API的典型分层架构。

4、SOA

使用场景:对于一些传统公司而言,公司内部有很多个系统,并且这些系统很少变动、使用时间比较长,系统开放接口的形式很不一样。公司为了集成各个系统,通过ESB作为中间件负责各个系统的消息转换。

5、微服务

对于互联网系统来说,如果继续使用ESB,ESB本身也将成为系统瓶颈。互联网系统采用去中心化的方式,让各个服务之间相互调用,这样带来的一个副作用是各个服务之间的开放接口需要统一。

互联网业务的典型特点有:用户数量大、业务发展迅速。

6、微内核架构

一般比较复杂的单机应用可采用微内核架构,比如操作系统、Eclipse等。

你可能感兴趣的:(【软件架构篇】常见可扩展模式)