根據此博客https://spring.io/blog/2015/07/14/microservices-with-spring這是基於尤里卡服務發現和服務發現工作正常。春季開機應用的領事服務發現問題
但是,當已經切換到使用領事代替尤里卡服務發現不能正常工作,並收到此錯誤:
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) ...
更新:後已通過提供正確的健康檢查端點固定先前的錯誤(見回答以下),在bootstrap.yml部署與領事服務器的正確提供主機和端口到Cloud Foundry服務時(在「引導」階段加載基於領事PropertySource):
---
spring:
profiles: cloud
cloud:
consul:
host: <consul host or ip>
port: 8500
領事在註冊服務,bu t臨界狀態(失敗)!
希望得到任何幫助或指導。
感謝
如果服務獲得成功註冊,您是否檢查過Consul UI?只是爲了消除,如果註冊或發現是你的問題。 –
是服務失敗(標記爲關鍵)。 – kmarabet
你可能調整了健康檢查嗎? –