网上商城项目总结(二)中间服务件dubbo

dubbo:实现表现层和服务层系统之间的通信(分布式架构中),资源调度和治理中心的管理工具。

实现通信的几种方法:

①、Web Service,基于SOAP协议,效率不高,项目中不推荐使用。特点:跨语言,跨平台。

②、使用restful形式的服务,http+json。服务太多,服务之间调用关系混乱,需要治疗服务。目前很多项目使用。

③、dubbo,使用RPC协议进行远程调用,直接使用socket通信,传输效率高,并可计算系统之间的调用关系调用次数。只能用于java开发的项目间。

dubbo架构

provider:暴露服务的服务提供方

consumer:调用远程服务的服务消费方

register:服务注册与发现的注册中心(此处使用zookeeper管理)

monitor:统计服务调用次数、时间的监控中心(在tomcat中部署)

container:服务运行容器

调用过程:

0.服务器容器启动,加载,运行服务提供者。

1.服务提供者启动时,向注册中心注册自己提供的服务。

2.服务消费者在启动时,向注册中心订阅自己所需要的服务。

3.注册中心返回服务提供者地址列表给消费者。如果有变更,注册中心将基于长连接推送变更数据给消费者。

4.服务消费者从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果失败,再选用一台调用。

5.服务消费/提供者在内存累计调用次数,调用时间,定时每分钟发送一次统计数据到监控中心。

发布服务配置<dubbo:service>,调用服务配置<dubbo:reference>,均可设置服务的超时时间。

猜你喜欢

转载自blog.csdn.net/ccccc_sssss/article/details/81284675