Ich folgte dieser Dokumentation registrierenWie Sie sich richtig Frühling Boot-App (eingesetzt Cloud Foundry) in Consul
spring:
cloud:
consul:
enabled: true
host: consul.domain.tld
port: 443
discovery:
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
fail-fast: false
Wenn eingesetzt, um Cloud Foundry, kann die App verbinden zu Konsul und versucht sich zu registrieren, aber Konsuls "Service-Check" schlägt sofort fehl.
Lesen, was konfiguriert ist, erhalte ich die folgenden Instanzen im Frühjahr Boot-App:
list = discoveryClient.getInstances("myApp");
list.get(0) => "http://05c81764-18a4-4905-41a8-b5b8:8080"
Ich sehe, dass die UUID höchstwahrscheinlich die instanceId von Cloud Foundry erzeugt wird. Natürlich funktioniert diese URL weder in Cloud Foundry noch auf einem externen Consul-Server, der versucht, den Zustand des Dienstes regelmäßig zu überprüfen.
Wie muss ich meine Spring Boot-App richtig konfigurieren, damit die Service-Registrierung bei Consul in Cloud Foundry funktioniert?
Sie Spencer danken, 'hostname' und' port' hat den Trick. – user3105453