我正在使用grpc-spring-boot-starter作为grpc服务器运行spring boot,并且还配置为eureka客户端。
由于我稍后尝试启动更多实例,因此我想为我的grpc服务分配一个随机端口,所以我做了grpc.port=0
问题是,我还希望eureka.instance.nonSecurePort
与grpc.port
完全相同。这是我的配置。
grpc:
port: 0
eureka:
client:
service-url:
default-zone: http://localhost:8761/eureka
application:
name: grpc-service
instance:
securePortEnabled: false
nonSecurePort: ${grpc.port}
instance_id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
问题是,我总是将eureka.instance.nonSecurePort
设为0,这不是我想要的。我知道在运行时分配了随机端口。但是,在春季启动分配了随机端口后,是否有办法使grpc.port
和eureka.instance.nonSecurePort
始终保持相同?
答案 0 :(得分:3)
您可以通过以下方式将随机端口置于一个间隔之后:
grpc:
port: ${random.int[9000,9900]}
eureka:
client:
service-url:
default-zone: http://localhost:8761/eureka
application:
name: grpc-service
instance:
securePortEnabled: false
nonSecurePort: ${grpc.port}