Dubbo配置直连

作者: 3c69b7c624d9 | 来源:发表于2017-11-30 23:03 被阅读350次

    背景

    部分小伙伴由于某些原因不能再公司开发。
    那么现在提供dubbo直连的相关配置

    步骤

    1. 使用在application-dubbo文件中

      1. 方案 换用公网zookeeper (如果网络受限请忽视)
      <dubbo:registry address="XXX:24681"  protocol="zookeeper" id="f6-registry"  group="${dubbo.group}" default="false"/>
      
      1. 使用redis注册中心(否决,依赖老版本commons-pool,系统中不存在,需要引入新依赖)
      2. 使用组播注册中心
      <dubbo:registry address="224.5.6.7:1234"  protocol="multicast" id="f6-registry"  group="${dubbo.group}" default="false"/>
      

      同时在jvm参数中增加-Djava.net.preferIPv4Stack=true

      1. 使用dubbo注册中心(需要自己其单独服务)
        不使用注册中心,配置成N/A 但是需要几个地方注释(注意不要提交!)
        Index: biz-service-impl/src/main/resources/application-dubbo.xml
           IDEA additional info:
           Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
           <+>UTF-8
           ===================================================================
           --- biz-service-impl/src/main/resources/application-dubbo.xml   (revision 24217)
           +++ biz-service-impl/src/main/resources/application-dubbo.xml   (revision )
           @@ -12,15 +12,15 @@
               <dubbo:protocol name="dubbo" port="20881" id="f6-protocol" serialization="java"/>
               <dubbo:provider timeout="30000" group="${dubbo.group}" retries="0" owner="qixiaobo" id="f6-provider" filter="customException"/>
        
           -   <dubbo:registry address="${zookeeper.url}"  protocol="zookeeper" id="f6-registry"  group="${dubbo.group}" default="false"/>
           +   <dubbo:registry address="N/A"  id="f6-registry"  group="${dubbo.group}" default="false"/>
        
        
           -   <dubbo:reference id="carZoneAgentService" interface="com.f6car.api.service.AgentService" group="${dubbo.group}" registry="f6-registry" check="false">
           +<!--    <dubbo:reference id="carZoneAgentService" interface="com.f6car.api.service.AgentService" group="${dubbo.group}" registry="f6-registry" check="false">
                   <dubbo:method name="bsdService" cache="lru" mock="true"/>
                   <dubbo:method name="accService" cache="lru" mock="true"/>
                   <dubbo:method name="atService" cache="lru" mock="true"/>
                   <dubbo:method name="carService" cache="lru" mock="true"/>
           -   </dubbo:reference>
           -   <import resource="classpath*:application-dubbo-supplychain.xml"/>
           +   </dubbo:reference>-->
           +   <!--<import resource="classpath*:application-dubbo-supplychain.xml"/>-->
        
            </beans>
           \ No newline at end of file
           Index: biz-rmi-impl/src/main/java/com/air/tqb/dubbo/PublishDubboBean.java
           IDEA additional info:
           Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
           <+>UTF-8
           ===================================================================
           --- biz-rmi-impl/src/main/java/com/air/tqb/dubbo/PublishDubboBean.java  (revision 24217)
           +++ biz-rmi-impl/src/main/java/com/air/tqb/dubbo/PublishDubboBean.java  (revision )
           @@ -32,7 +32,7 @@
                    }
                    builder.setLazyInit(false);
                    builder.addPropertyValue("interfaceClass", clazz.getInterfaces()[0]);
           -        builder.addPropertyReference("registry", "f6-registry");
           +        builder.addPropertyValue("register", false);
                    builder.addPropertyReference("provider", "f6-provider");
                    builder.addPropertyReference("protocol", "f6-protocol");
                    builder.addPropertyReference("application", "f6-application");
        

      推荐使用最后一个方案

    2. 在调用的客户端代码中直接在对应的interface中增加url(此为样例,请修改对应的项目中的url)

      <dubbo:reference id="carZoneAgentService" interface="com.f6car.api.service.AgentService" group="${dubbo.group}" registry="f6-registry" check="false" url="dubbo://127.0.0.1:20881">
      
    3. 可以使用telnet来checkdubbo服务是否安好 (端口为20881)

      telnet localhost 20881
      

      比如

      dubbo>ls
      com.air.tqb.service.base.MaintainTypeService
      com.air.tqb.service.base.BasSearchService
      com.air.tqb.service.base.OrgGroupWxService
      com.air.tqb.service.wash.CarWashService
      com.air.tqb.service.staff.StaffService
      com.air.tqb.service.report.EmployeePerformanceService
      com.air.tqb.service.item.ItemService
      

    相关文章

      网友评论

        本文标题:Dubbo配置直连

        本文链接:https://www.haomeiwen.com/subject/sjobbxtx.html