问题描述

发布服务过程中,有时候需要将服务发布在虚拟网卡,或者是一个跟本机相关联的非物理存在的 IP(例如 ECS 的弹性 IP)上。如果通过 -Dhsf.server.ip 指定了该虚拟 IP,启动服务的时候就会报错,导致服务发布失败,因为发布过程中在本机网卡中找不到这个虚拟 IP。

解决方案

为了解决这个问题,EDAS 推出了自定义服务发布端 IP 的功能,允许服务端发布服务到配置中心的时候不指定任何 IP。服务发布成功后,再对 IP 地址进行修改,重新发布服务即可。服务调用方则不用做任何更改。

  1. 服务发布成功后,在配置列表中找到发布的服务,单击右侧更新
    您也可以在服务列表中找到发布的服务。
  2. 编辑配置页面的 Content 输入框中修改 IP 地址。
    说明 没有特殊需求时不要随意更改 IP 地址后面的内容,以免发生服务调用错误。
    配置中心编辑配置
  3. 单击确定保存。
  4. 重启服务。
    带有新地址的服务会被重新注册,使更改生效。

修改完成后,服务调用方不用做任何更改,按照正常调用方式调用服务。您可以通过 {user.home}\logs\configclient\config-client.log 路径下的日志观察到服务调用的真正 IP。查看日志中关键字 [Data-received] 后的内容,可以看到调用的服务的完整信息。