Nach diesem Blog https://spring.io/blog/2015/07/14/microservices-with-spring, die auf Eureka Service Discovery basiert und wo die Service Discovery ordnungsgemäß funktioniert.Consul Service Discovery Problem mit Spring-Boot-Anwendungen
Aber wenn gewechselt hat Consul zu verwenden, anstatt Eureka der Service Discovery nicht funktioniert und immer diese Fehlermeldung:
java.lang.IllegalStateException: No instances available for ACCOUNTS-SERVICE
at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:79)
at org.springframework.cloud.client.loadbalancer.LoadBalancerInterceptor.intercept(LoadBalancerInterceptor.java:46) ...
AKTUALISIERT: Nach dem vorherigen Fehler behoben hat, indem den korrekte Gesundheitscheck Endpunkt bereitstellt (siehe Antwort unten), wenn sie mit ordnungsgemäß versehen Host und Port des Konsuls Server in bootstrap.yml (Consul basierend PropertySource geladen während der 'Bootstrap' Phase), die Dienste zu Cloud Foundry bereitstellen:
---
spring:
profiles: cloud
cloud:
consul:
host: <consul host or ip>
port: 8500
Consul ist das registrieren des Service , bu t mit kritischem Zustand (fehlgeschlagen)!
Würde mich über jede Hilfe oder Anleitung freuen.
Dank
Haben Sie die Consul UI überprüft, wenn der Dienst erfolgreich registriert wurde? Nur um zu beseitigen, wenn Registrierung oder Entdeckung Ihr Problem ist. –
Ja, der Service schlägt fehl (als kritisch gekennzeichnet). – kmarabet
Haben Sie vielleicht Ihre Gesundheitschecks optimiert? –