分布式系统架构系列讲解 - 总目录
集中式应用的分布式改造必然伴随着拆分,拆分的方式有很多种,从最早的N层架构到SOA,再到现在流行的微服务。拆分的重要目的之一就是增强系统的可扩展性,本文将段对最常见的三种应用拆分方式进行介绍。
一、分层架构
应用为了实现“高内聚、低耦合”的设计目标,往往会进行拆分,一种最常见的拆分方式就是“分层”。“分层架构”也叫做“N层架构”,通常情况下,N至少是2层。基于划分维度的不同,“分层架构”又可以区分为:B/S和C/S架构、MVC和MVP架构、逻辑分层架构等。比较典型的是逻辑分层架构,如下图是J2EE应用的常见分层架构:
逻辑分层架构最核心的一点是需要保证各层之间的差异足够清晰,边界足够明显,其本质是隔离关注点(separation of concerns),即每一层的组件只处理本层的逻辑。通常来说,分层架构的主要关注点在于系统内部的拆分,而对于分布式的应用,我们更多关注的是系统间的拆分,与此对应的是两