二十条铁则送给你!
|
随着互联网的快速发展,一方面互联网应用访问量级大增,数据量大增。另一方面,应用的迭代速度也不断变快。单体应用的模式已经不适合互联网的快速发展。这样,后台分布式集群架构越来越流行。 Micro-Service 微服务并没有一个严格的定义。以下是 Martin Fowler 描述的微服务:
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常基于 HTTP 的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境。 上所提的架构都是在单体架构之下。单体架构和多服务架构是从服务的部署模式、运行模式来考虑。 单体架构有如下优势:
单体应用的劣势:
分布式系统拆分: 架构的经典和流行,以及大量 Web 后台框架对三层架构的靠近,使得 Web 后台开发简单到一个刚刚入门的开发人员就可以进行 web 开发。也正因为此,使得大部分 web 开发人员的思维受限于此,从而成为人人调侃的 CRUD-Boy。随着 MIS 系统时代的渐远,三层架构也开始在一些领域无法成为“银弹“。
除去经典的三层架构。在领域驱动设计中,Eric Evans 设计了一种经典的四层架构,其在用户界面层与业务逻辑层之间引入了新的一层,即应用层(Application Layer)。其余几层也相应的有所调整。 del-View-Controller,MVC 架构是面向对象编程的一大进步。服务将逻辑划分为三个不同的组建:Model——模型,即数据,通常存储在数据库中,在内存中进行逻辑操作。View——用户可见的组建,用于用户交互和数据展示,如 Web GUI。Controller——逻辑操作,连接 Model 和 View 的组件,操作 Model 逻辑和 View 交互展示逻辑。 MVC 模式在客户端和 H5 前端都比较流行。也一直是 Web 后端流行的架构模式,在 Java Web 领域催生的 Struts、Spring MVC 等 Web 后台框架,让曾经复杂的 Web 开发变成一种异常简单的开发。 随着前后端渐渐分离,之前的后台 MVC 已经将 View 完全交于前端,前后端通过相关协议通信,完成 View 数据的传输。 Layered 分层架构是运用最为广泛的架构模式,几乎每个软件系统都需要通过层(Layer)来隔离不同的关注点(Concern Point),以此应对不同需求的变化,使得这种变化可以独立进行。 单一职责原则,是系统设计开发重要的原则。分层架构就时时遵循单一职责原则。不同的层次相互隔离,承担不同的职责。
说起分层架构,最让人熟知的就是经典的三层架构。经典三层架构自顶向下由用户界面层(User Interface Layer)、业务逻辑层(Business Logic Layer)与数据访问层(Data Access Layer)组成。三层架构是简单 Client-Server 架构的升级。 (编辑:孝感站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

