欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Eureka服务注册不可用问题

程序员文章站 2022-04-24 17:19:08
...

最近开发了一个微服务的产品,使用Eureka作为服务注册中心,在测试环境时运行正常,但是部署到生产环境时出现Connection Refuse异常,检查发现服务从Eureka拿到的服务列表的服务地址不可用。

整个产品使用Docker容器部署,并通过Docker Compose进行容器编排,服务注册默认注册地址是容器内部的地址,由于测试环境时单台服务器,所有没有出现问题。生产环境是多台服务器分布式部署,就会出现这个问题,可以通过配置服务实例注册IP地址解决这个问题。

配置如下:

# 指定服务注册的宿主ip
eureka.instance.ip-address=192.168.1.1
# 配置注册时使用ip而不是主机名
eureka.instance.prefer-ip-address=true

同时,如果一个微服务需要多接点部署时,需保证Instance ID唯一,否则仅有一个节点注册成功。

配置项如下:

# 制定instance-id的生成策略,按实际调整,确保每个服务唯一即可。
eureka.instance.instance-id=${spring.application.name}:${server.port}:${random.int}