-
2.架构演进
-
2.1 单体架构
- 单体架构指的是,将整个系统所有的功能都打包成一个jar或war包、并且运行在一个进程中。单体架构虽然开发迅速, 但是它存在很多不足之处
-
单体架构不足之处:
- 1.代码耦合严重。一发而动全身,经常出现改一个bug导致更多bug的情况。严重影响开发效率
- 2.部署速度慢、对系统影响大。单体架构的每次发版部署都需要一切重来
- 3.业务扩展困难。单体架构代码耦合、业务也容易耦合
- 4.扩容苦难。当单体架构服务性能出现问题时,需要进行服务水平扩容,单体架构在这种情况下显得很无力,只能将整个应用都进行扩容,但是往往应用中只有一小部分性能出现问题。
-
2.2 垂直架构
- 垂直架构在一定程度上减少了单体架构的代码、业务耦合度,提升了应用程序的伸缩性。
- 采用了分层思想,从结构上拆分成多个维度
-
2.3 SOA架构
- SOA(Service-Oriented Architecture)面向服务架构,它的核心思想就是服务化, 服务在SOA架构中,是基本单元。
-
SOA架构主要解决了以下问题:
- 1.打破数据孤岛问题。通过接口进行服务之间调用
- 2.应用解耦。进行业务层面的拆分,拆分成不同服务单元
- 3.服务重用。实现共享业务。比如电商项目中的用户服务、库存服务、商品服务都可以实现一次开发多系统重用。
-
2.4 微服务架构
- 微服务架构与SOA架构一样,服务是其架构设计中的基本单元。
-
两者的区别在于侧重点不一样:
- 微服务侧重服务细粒度的拆分
- SOA侧重服务化后服务的可复用性
-