蹒跚学步…
一、单体架构
互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这样可以减少开发、部署和维护的成本。比如说一个电商系统,里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块,所有的这些模块都会耦合在一个war包里。
这样做会带来一些问题:
- 代码耦合太高,牵一发而动全身。
- 迭代更加困难,每次功能的变更或bug的修复都会导致重新部署整个应用,随着代码的增多,构 建、测试和部署的时间也会大大增加。
- 扩展受限:单体应用只能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩。
二、分布式架构
为了解决单体架构的这些问题进而演变出了分布式架构。
分布式:需要按照功能点把系统拆分成独立的功能,单独为某一个节点添加服务器,需要系统之间配合才能完成整个业务逻辑。
优点是:解决了单体架构所有遇到的问题。
缺点是:又带来了一些新的问题:
- 服务之