在随机端口上运行弹簧启动时,Eureka无法找到端口



以下是我本地的依赖项:

<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-server-spring-boot-starter</artifactId>
<version>2.13.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

application.properties

grpc.server.port=${PORT:0}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}

bootstrap.properties

spring.application.name=grpc-service

Eureka服务器正在检测端口8080,而不是Eureka客户端使用的实际端口。过去也报告过类似的问题,并且根据开发人员的说法已经修复了。我有没有错过上面提到的配置?

我修改了我的application.properties文件如下:

grpc.server.port=${PORT:0}
server.port=${grpc.server.port}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.non-secure-port-enabled=true
eureka.instance.secure-port-enabled=false
eureka.instance.non-secure-port=${server.port}

但是现在Eureka根本没有检测到服务。

我可以通过以下更改来解决这个问题:

application.xml

eureka.instance.non-secure-port-enabled=true
eureka.instance.secure-port-enabled=false
server.port=${grpc.server.port}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.non-secure-port=${grpc.server.port}

grpc.server.port作为runtime参数传递。在进行这些更改之后,Eureka现在可以检测Eureka客户机中使用的确切端口。

最新更新