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配置直连

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

  • dubbo直连引发的dubbo重试失效

    dubbo直连引发的dubbo重试失效DubboInvoker与FailoverClusterInvoker直连会...

  • DUBBO 直连提供者方法

    DUBBO 直连提供者方法 1 通过 XML 配置 如果是线上需求需要点对点,可在

  • dubbo记录

    目录 《dubbo入门》《dubbo管理控制台》《dubbo超时重传》《dubbo直连》《dubbo实现服务降级》...

  • dubbo直连

    dubbo的直连方式即消费方不通过zookeeper注册中心去调用注册的服务,而是直接绕过zookeeper环节直...

  • dubbo直连

    dubbo版本:2.7.1-SNAPSHOT 本地一般都是直连测试环境的依赖服务默认配置是在本地 home 下的 ...

  • dubbo直连

      正常情况下,dubbo肯定要搭配注册中心使用,如:zk。但当注册中心不可用的情况下,dubbo如何调用服务?它...

  • 高可用

    1、zookeeper宕机与dubbo直连 现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。...

  • RpcException: Invalid token! Fai

    问题:直连dubbo应用时,提示错误:RpcException: Invalid token! Failed to...

  • 如何上手使用duboo-springcloud

    如何上手使用duboo-springcloud dubbo-springcloud gihub地址 直连模式 依赖...

网友评论

    本文标题:Dubbo配置直连

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