1. Dubbo无法访问远程Zookeeper已注册服务的问题解决方案

     更新时间:2019年03月26日 14:12:36   作者:MonroeCode   我要评论

    今天小编就为大家分享一篇关于Dubbo无法访问远程Zookeeper已注册服务的问题解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    背景

    使用Dubbo的时候发现当Zookeeper、Dubbo-admin、生产者和消费者都在内网中的时候,生产者的生产和消费是没有问题的,但是当它Zookeeper、生产者放到远程服务器上,然后消费者在访问消费就出现了无法找到找到服务的问题。

    内网环境使用情况

    上述的图是在同一个内网中,使用的代码如下:

    1、生产者配置

    <?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: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">
      <dubbo:application name="Jhd_Security" owner="allen.xu" organization="MyJhd"/>
      <dubbo:registry address="zookeeper://172.16.61.101:2181" timeout="500000" group="JhdGroup" id="myjhd_id"/>
      <!-- 暴露出去的接口-->
      <bean id="dubboDemoFacade" class="com.dubbo.demo.facade.impl.DubboDemoFacade"/>
      <dubbo:service
          ref="dubboDemoFacade"
          interface="com.dubbo.demo.facade.IDubboDemoFacade"
          version="1.0.0"
          cluster="failfast"
          executes="10"
          timeout="500000"
          registry="myjhd_id">
      </dubbo:service>
    </beans>

    2、消费者配置

    <?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: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">
      <dubbo:application name="consumer-of-sayHello-app" owner="allen.xu" organization="MyJhd"/>
      <dubbo:registry address="zookeeper://172.16.61.101:2181" timeout="500000" group="JhdGroup" id="myjhd_id"/>
      <dubbo:reference id="dubboDemoFacade"
               interface="com.dubbo.demo.facade.IDubboDemoFacade"
               version="1.0.0"
               cluster="failfast"
               timeout="500000"
               registry="myjhd_id"/>
    </beans>

    3、演示效果

    可以看到生产者和消费者的ip是一样的,既是在本地上是可以运行的。

    多网环境使用情况

    如果根据相关的Zookeeper修改上述中的IP地址,其他不用修改的情况下,使用上边的代码,则会出现生产者可以注册到注册中心,但是消费者无法消费到该服务。

    在Dubbo-admin上可以看到生产者信息,但是消费者确无法使用该服务,这是因为防火墙的问题。

    可以看到上边的端口是20880,这是dubbo默认的,消费者在消费该服务的时候?#19981;?#36890;过该端口去使用服务,因此修改防火墙名单。

    在 /etc/sysconfig/iptables中添加下边内容:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 20880 -j ACCEPT

    表示开启20880端口

    然后:service iptables restart 重启防火墙即可。

    另外的一种方式是:我们可以指定生产者消费者的端口,可以通过

    <dubbo:protocol name="dubbo" port="8889"/>

    这样的话,同样开启8889端口即可。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

    相关文章

    • java中多态概念、实现原理详解

      java中多态概念、实现原理详解

      JAVA中多态性是对象多种表现?#38382;?#30340;体现。在面向对象中,最常见的多态发生在使用父类的引用来引用子类的对象。下面这篇文章主要给大家介绍一下,需要的朋友可以参考下
      2017-04-04
    • linux下执行java程序的sh脚本分享

      linux下执行java程序的sh脚本分享

      这篇文章主要介绍了linux下执行java程序的sh脚本,仅供参考,但是设置的时候环境变量是最重要的,我就是环境变量一直不对,总是按网上查到的来,不明白怎么回事,才一?#32972;?#38169;,其实环境变量就是你要执行的java程序所在的位置
      2014-09-09
    • java反射之通过反射了解集合泛型的本质(详解)

      java反射之通过反射了解集合泛型的本质(详解)

      下面小编就为大家带来一篇java反射之通过反射了解集合泛型的本质(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2017-06-06
    • java开发中的误区和细节整理

      java开发中的误区和细节整理

      这篇文章给大家整理了关于JAVA开发中的细节以及经常进入的误区整理,希望我们整理的内容能够给大家提供到帮助。
      2018-04-04
    • 小议Java中@param注解与@see注解的作用

      小议Java中@param注解与@see注解的作用

      这篇文章主要介绍了Java中@param注解与@see注解的作用,注解的功能类似于通常代码中的注释,需要的朋友可以参考下
      2015-12-12
    • 基于java中集合的概念(详解)

      基于java中集合的概念(详解)

      下面小编就为大家带来一篇基于java中集合的概念(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2017-09-09
    • java数组排序示例分享

      java数组排序示例分享

      这篇文章主要介绍了java数组排序示例,需要的朋友可以参考下
      2014-03-03
    • Java I/O技术之文件操作详解

      Java I/O技术之文件操作详解

      这篇文章主要介绍了Java I/O技术之文件操作详解,需要的朋友可以参考下
      2014-07-07
    • Java Swing树状组件JTree用法实例详解

      Java Swing树状组件JTree用法实例详解

      这篇文章主要介绍了Java Swing树状组件JTree用法,结合具体实例?#38382;?#20998;析了Swing组件JTree构成树状列表的节点设置与事件响应,以及?#36828;?#20041;图形节点的相关操作技巧,需要的朋友可以参考下
      2017-11-11
    • java date类与string类实例代码分享

      java date类与string类实例代码分享

      这篇文章主要介绍了java date类与string类实例代码分享,具有一定借鉴价值,需要的朋友可以参考下
      2018-01-01

    最新评论

    山东群英会开奖查询