传统项目(集中式架构):
存在根本问题:
- 各个模块之间耦合度过高,牵一发而动全身
- 开发困难,各个团队所开发的模块最后都要整合在一起
- 扩展创新性比较差
- 不能灵活的进行部署
而其优点在于
网站流量很小,只需要一个应用就将所有的功能集中在一起,减少部署节点(可以理解为服务器)和成本。业务比较简单并开发周期相对来讲非常的短暂
分布式架构:
等同于把一个系统分成多个子系统,优点在于
- 把模块拆分,降低各个模块之间的耦合度
- 整个项目分开成若干个子项目,不同的人(团队)负责不同的子项目
- 如果要增加功能的话,则只需要增加一个子项目,然后再调用其他的系统接口就可以
- 可以灵活的进行分布式部署
- 提高代码的复用性,比如service层,如果不采用分布式rest服务方式架构就会在手机wap商城,微信商城,pc,android,ios每个端都要写一个service层逻辑,开发量大,难以维护一起升级,这时候就可以采用分布式rest服务方式,公用一个service层。缺点:系统之间的交互要使用远程通信,接口开发增大工作量,但是利大于弊。