根据此博客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
你可能调整了健康检查吗? –