资讯专栏INFORMATION COLUMN

dubbo获取本机IP

lewif / 1948人阅读

摘要:发布应用到阿里云,启动失败,部分堆栈如下看了代码,发现是的小失败会调用日志打印,日志打印的时候会自动带上本机域名调用,造成循环调用。

发布Java应用到阿里云,启动失败,部分堆栈如下:

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.net.InetAddress.checkLookupTable(InetAddress.java:1393)
...
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:188)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:220)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)

看了代码,发现是dubbo的小bug:getLocalHost失败会调用日志打印,日志打印的时候会自动带上本机域名(调用getLocalHost),造成循环调用。

2种解决方法:

在 /etc/hosts 指定域名解析(自定义了hostname,但是没设定对应IP)

升级到dubbo 2.6.3或后续版本

指定域名解析的方式还有其它用途:daily环境从内网迁移到阿里云,指定解析为外网IP,方便在内网调用。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74030.html

相关文章

  • docker网络方案简介

    摘要:模式容器直接使用宿主机的网络配置,包括网卡,路由等,这种方案下,从网络层面来看,容器就不是容器了,只是一个宿主机上的进程端口而已。 注:本篇仅仅是对各个网络方案的简介和思考。需要深入学习如何部署和使用的同学请自行度娘~ 中小docker用户的苦恼 docker的使用者十分广泛,不止有网易蜂巢,daocloud,时速云这类的已经成熟化的公有云服务,许多中小型企业内部也在试图将docker...

    bbbbbb 评论0 收藏0
  • docker网络方案简介

    摘要:模式容器直接使用宿主机的网络配置,包括网卡,路由等,这种方案下,从网络层面来看,容器就不是容器了,只是一个宿主机上的进程端口而已。 注:本篇仅仅是对各个网络方案的简介和思考。需要深入学习如何部署和使用的同学请自行度娘~ 中小docker用户的苦恼 docker的使用者十分广泛,不止有网易蜂巢,daocloud,时速云这类的已经成熟化的公有云服务,许多中小型企业内部也在试图将docker...

    ?xiaoxiao, 评论0 收藏0
  • zookeeper 高可用集群搭建

    摘要:前言记录集群搭建的过程什么是是一个分布式的,开放源码的分布式应用程序协调服务,是的一个开源的实现,是和的重要组件。 showImg(https://segmentfault.com/img/remote/1460000017993000); 前言 记录Zookeeper集群搭建的过程! 什么是 Zookeeper ? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,...

    sherlock221 评论0 收藏0
  • dubbo源码解析(四十五)服务引用过程

    摘要:服务引用过程目标从源码的角度分析服务引用过程。并保留服务提供者的部分配置,比如版本,,时间戳等最后将合并后的配置设置为查询字符串中。的可以参考源码解析二十三远程调用的一的源码分析。 dubbo服务引用过程 目标:从源码的角度分析服务引用过程。 前言 前面服务暴露过程的文章讲解到,服务引用有两种方式,一种就是直连,也就是直接指定服务的地址来进行引用,这种方式更多的时候被用来做服务测试,不...

    xiaowugui666 评论0 收藏0
  • zookeeper+dubbo实现java分布式服务

    摘要:调用关系说明服务容器负责启动,加载,运行服务提供者。服务提供者在启动时,向注册中心注册自己提供的服务。注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 ZooKeeper简介 ZooKeeper(Zookeeper 下载地址)是一个分布式的,开放源码的分布式应用程序协调服务,是 Apache Hadoop 的一个子项目,是Google的Ch...

    WalkerXu 评论0 收藏0

发表评论

0条评论

lewif

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<