达博无法访问远程管理员已注册服务的问题解决方案

  

<强>背景

  

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

  

<强>内网环境使用情况

  

达博无法访问远程管理员已注册服务的问题解决方案

  

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

  

<强> 1,生产者配置

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;豆类xmlns=" http://www.springframework.org/schema/beans "   xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:达博=" 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”比;   & lt;达博:应用程序名称==所有者“Jhd_Security艾伦。徐MyJhd“组织=/比;   & lt;达博:注册地址=肮芾碓?//172.16.61.101:2181”超时==" 500000 "组" JhdGroup " id=" myjhd_id "/比;   & lt; !——暴露出去的接口——比;   & lt; bean id=癲ubboDemoFacade”类=癱om.dubbo.demo.facade.impl.DubboDemoFacade”/比;   & lt;达博:服务   ref=" dubboDemoFacade "   界面=" com.dubbo.demo.facade.IDubboDemoFacade "   version=" 1.0.0 "   集群=" failfast "   执行=" 10 "   timeout=" 500000 "   注册表=癿yjhd_id”比;   & lt;/达博:service>   & lt;/beans>      

<强> 2,消费者配置

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;豆类xmlns=" http://www.springframework.org/schema/beans "   xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance "   xmlns:达博=" 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”比;   & lt;达博:应用程序名称==所有者“consumer-of-sayHello-app艾伦。徐MyJhd“组织=/比;   & lt;达博:注册地址=肮芾碓?//172.16.61.101:2181”超时==" 500000 "组" JhdGroup " id=" myjhd_id "/比;   & lt;达博:引用id=" dubboDemoFacade "   界面=" com.dubbo.demo.facade.IDubboDemoFacade "   version=" 1.0.0 "   集群=" failfast "   timeout=" 500000 "   注册表=" myjhd_id "/比;   & lt;/beans>      

<强> 3,演示效果

  

达博无法访问远程管理员已注册服务的问题解决方案

  

达博无法访问远程管理员已注册服务的问题解决方案

  

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

  

<强>多网环境使用情况

  

达博无法访问远程管理员已注册服务的问题解决方案

  

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

  

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

  

达博无法访问远程管理员已注册服务的问题解决方案

  

可以看到上边的端口是20880,这是达博默认的,消费者在消费该服务的时候也会通过该端口去使用服务,因此修改防火墙名单。

  

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

  
  

——输入- m状态——国家新的tcp - p tcp——dport 20880 - j - m接受

     20880年

表示开启端口

  

达博无法访问远程管理员已注册服务的问题解决方案

  

然后:<代码>服务iptables重启重启防火墙即可。

达博无法访问远程管理员已注册服务的问题解决方案