Dubbo资源调度和治理中心的管理工具

1.dubbo架构.

节点角色说明:

Provider: 暴露服务的服务提供方。

Consumer: 调用远程服务的服务消费方。

Registry: 服务注册与发现的注册中心。

Monitor: 统计服务的调用次调和调用时间的监控中心。

Container: 服务运行容器。

调用关系说明:

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

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

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

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

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

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

2.使用方法.

   Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于SpringSchema扩展进行加载。

 1.服务方发布服务.

<!-- 使用dubbo发布服务 -->
    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="e3-manager" />
    <dubbo:registry protocol="zookeeper"
        address="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183" />
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="cn.e3mall.service.ItemService" ref="itemServiceImpl" />

 

 

  

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd

 

需要在applicationContext-service.xml配置文件中加上约束. 

发布服务,需要发布到注册中心.address为注册中心的IP地址,和开放的端口号,详见zookeeper的安装与配置.

 2.消费者调用服务.

<!-- 引用dubbo服务 -->
    <dubbo:application name="e3-manager-web"/>
    <dubbo:registry protocol="zookeeper" address="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"/>    
    <dubbo:reference interface="cn.e3mall.service.ItemService" id="itemService" />

 

同样需要加入约束.

在web层调用服务,需要连接zookeeper,声明需要调用的服务.interface接口和发布服务的接口一致.

3.dubbo的监控中心.

  在tomcat中布置dubbo-admin的war包,尽量和zookeeper部署在同一台服务器.如果不在可以更改/WEB-INF/dubbo.properties配置文件.监听zookeeper.

 

 

 

 

 

 

 

posted @ 2018-08-11 19:01  流浪的小蛤蟆  阅读(540)  评论(0)    收藏  举报