软件架构设计阅读笔记3

分布式应用

中级架构,分布式应用,中间层分布式+数据库分布式,是单体架构的并发扩展,将一个大的系统划分为多个业务模块,业务模块分别部署在不同的服务器上,各个业务模块之间通过接口进行数据交互。数据库也大量采用分布式数据库,如redis、ES、solor等。通过LVS/Nginx代理应用,将用户请求均衡的负载到不同的服务器上。

该架构相对于单体架构来说,这种架构提供了负载均衡的能力,大大提高了系统负载能力,解决了网站高并发的需求。另外还有以下特点:

降低了耦合度:把模块拆分,使用接口通信,降低模块之间的耦合度。

责任清晰:把项目拆分成若干个子项目,不同的团队负责不同的子项目。

 

扩展方便:增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。

部署方便:可以灵活的进行分布式部署。

 

提高代码的复用性:比如service层,如果不采用分布式rest服务方式架构就会在手机wap商城,微信商城,pc,android,ios每个端都要写一个service层逻辑,开发量大,难以维护一起升级,这时候就可以采用分布式rest服务方式,公用一个service层。

 

缺点 : 系统之间的交互要使用远程通信,接口开发增大工作量,但是利大于弊。

原文地址:https://www.cnblogs.com/123456www/p/13054460.html