问题现象

服务发布过程中,有时候需要将服务发布在虚拟网卡,或者是一个跟本机相关联的非物理存在的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]后的内容,可以看到调用的服务的完整信息。