#spring #microservices #spring-cloud #consul
Вопрос:
Когда я запускаю 1 экземпляр приложения, затем убиваю его, а затем перезапускаю, консул показывает мне 2 экземпляра со статусом «ОК». Конфигурация моего приложения:
instance-id: ${random.long}
cloud:
consul:
host: ${CONSUL_HOST:localhost}
port: ${CONSUL_PORT:8500}
discovery:
enabled: true
fail-fast: true
instance-id: ${spring.application.name}-${server.port}-${instance-id}
health-check-path: /actuator/health
health-check-interval: 20s
management:
endpoints:
web:
exposure:
include: hystrix.stream, info, health, metrics, prometheus, heapdump, threaddump
endpoint:
health:
show-details: always
metrics:
enabled: true
health:
redis:
enabled: false
metrics:
tags:
application: dashboard
instance: ${instance-id}
server:
port: ${DASH_SERVICE_ACTUATOR_PORT:9081}
Я хочу сохранить случайный идентификатор экземпляра для каждого перезапуска, но я хочу, чтобы консул отменял регистрацию убитых экземпляров. Как я вижу, это происходит потому, что оба экземпляра запрашивают проверку работоспособности для одного и того же порта. Возможно, есть способ проверить идентификатор экземпляра в этой проверке работоспособности.