分布式配置dubbo的流程

2018-09-10  本文已影响0人  09c72470861c

每次框架的配置文件几乎都是那之前的项目复制粘贴,修修改改就用起来了。
这样几乎很少从头手写的东西,就要多回顾下。

后面附上配置的代码

dubbo配置流程:

一、pom中依赖dubbo||zookeeper相关jar

二、生产者端:

1.写接口和实现类
2.配置定义提供方应用信息
3.配置zookeeper注册中心
4.用dubbo协议在端口上暴露服务
5.配置接口信息
6.配置实现类信息

三、消费者端

1.配置定义消费这应用信息
2.配置zookeeper的注册地址,以供消费者调接口
3.配置要调用的生产者端的方法

四、打开zookeeper服务器


代码

关于接口的配置那块,删除了很多重复的配置代码,主要注意对应关系就行了

生产者端

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                         http://www.springframework.org/schema/beans/spring-beans.xsd
                         http://www.springframework.org/schema/context
                         http://www.springframework.org/schema/context/spring-context.xsd
                         http://www.springframework.org/schema/aop
                         http://www.springframework.org/schema/aop/spring-aop.xsd
                         http://www.springframework.org/schema/mvc
                         http://www.springframework.org/schema/mvc/spring-mvc.xsd
                         http://code.alibabatech.com/schema/dubbo 
                         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">


    <context:component-scan base-package="com.bfy.service" />
    <mvc:annotation-driven />
 
    <!-- dubbo -->

    <!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识 -->
    <dubbo:application name="BFY-manager-service" owner="programmer" organization="dubbox" />
    <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper -->
    <dubbo:registry address="zookeeper://localhost:2181" />
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <!-- <dubbo:annotation package="com.bfy.service"/> -->
    <!--使用 dubbo 协议实现定义好的 api.PermissionService 接口 -->

    <!-- Service -->

    <dubbo:service  interface="com.bfy.service.PublishMessageService"
        ref="publishMessageService" protocol="dubbo" executes="12000000"
        retries="0" />
    
    <!--具体实现该接口的 bean -->
    <bean id="publishMessageService"
        class="com.bfy.service.impl.PublishMessageServiceImpl" />
    

消费者端

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:context="http://www.springframework.org/schema/context"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo 
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">    
    
    <dubbo:application name="demotest-consumer" owner="programmer" organization="dubbox"/>
    <!--向 zookeeper 订阅 provider 的地址,由 zookeeper 定时推送-->
    <dubbo:registry address="zookeeper://localhost:2181"/>
    <!--使用 dubbo 协议调用定义好的 api.PermissionService 接口-->
    <dubbo:reference id="publishMessageService" 
       interface="com.bfy.service.PublishMessageService" 
       retries="0" timeout="1200000"/>    

</beans>

上一篇下一篇

猜你喜欢

热点阅读