1.  系统架构

1.1. 传统架构

 dubbo--1.系统架构 


1.2. 1000并发

  

 dubbo--1.系统架构

需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务能力先增加后下降。

所以集群中节点数量不能太多,一般也就5个左右。


1.3. 10000并发—分布式

 

解决session复制

 

需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。

dubbo--1.系统架构

分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。

集群:同一个工程部署到多台服务器上。

分布式架构:

把系统按照模块拆分成多个子系统。

优点:

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

2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。

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

4、可以灵活的进行分布式部署。

 

缺点:

1、系统之间交互需要使用远程通信,接口开发增加工作量。

2、各个模块有一些通用的业务逻辑无法共用。

 


1.4. 基于soa的架构

SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

 dubbo--1.系统架构


 

1.5. 宜立方商城系统架构

 dubbo--1.系统架构

 

 

2.  分析

 

由于宜立方商城是基于soa的架构,表现层和服务层是不同的工程。所以要实现商品列表查询需要两个系统之间进行通信。

如何实现远程通信?

1、Webservice:效率不高基于soap协议。项目中不推荐使用。

2、使用restful形式的服务:http+json。很多项目中应用。如果服务太多,服务之间调用关系混乱,需要治疗服务。

 dubbo--1.系统架构 


3、使用dubbo。使用rpc协议进行远程调用,直接使用socket通信。传输效率高,并且可以统计出系统之间的调用关系、调用次数。

 

 

 

 

 

 

 

 

相关文章: