一、单机架构
二、集中式架构
三、分布式微服务架构
四、各类架构与分层架构的关系:
1、单机架构:采用面向过程的设计方法,包括客户端UI和数据库两层,采用C/S架构模式,围绕数据库驱动设计和开发,属于分层架构。
2、集中式架构:
(1)一种采用面向对象的设计方法,包括业务接入层、业务逻辑层和数据库层,采用经典的三层架构。这种架构仍然属于分层架构。
(2)另一种采用传统的SOA架构。
注:SOA整体上不属于分层架构
集中式架构的缺点是:容易使系统变得臃肿,可扩展性和弹性伸缩性差
3、分布式微服务架构:由集中式架构演进而来,可以很好的实现应用之间的解耦,解决单体应用扩展性和弹性伸缩能力不足的问题。
注:微服务整体上也不属于分层架构
五、关于SOA和微服务:
微服务是一种和 SOA 相似但本质上不同的架构理念。
微服务和 SOA 只是有点类似,但本质上是不同的架构设计理念。相似点在于,两者都关注“服务”,都是通过服务的拆分来解决可扩展性问题。本质上不同的地方在于几个核心理念的差异:是否有 ESB、服务的粒度、架构设计的目标等。
将SOA和微服务的对比如下: