微服务配置和eureka服务先启动哪个?

mav*_*ick 4 intellij-idea netflix spring-boot microservices netflix-eureka

我正在使用 spring boot 和 netflix OSS 在微服务中创建一个简单的项目来弄脏我的手。我创建了两个服务

  1. 必须在发现(尤里卡)服务中注册自己的配置服务。
  2. 发现服务需要运行配置服务来获取其配置。

现在,当我启动这些服务时,由于相互依赖,这两个服务都失败了。解决此问题的最佳实践是什么以及首先开始哪个实践。

PS:-我知道我正在创建循环依赖,但是处理这种情况的方法是什么,我想将 eureka 配置也保留在配置服务器上

谢谢

小智 6

我相信你可以在官方的 spring 云配置服务器文档中找到你的问题的答案:这里:http : //cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_client

基本上,您必须在“Config First Bootstrap”或“Discovery First Bootstrap”之间进行选择。

来自文档:“如果您使用的是`DiscoveryClient 实现,例如 Spring Cloud Netflix 和 Eureka Service Discovery 或 Spring Cloud Consul(Spring Cloud Zookeeper 尚不支持此功能),那么您可以让 Config Server 向 Discovery Service 注册如果您愿意,但在默认的“配置优先”模式下,客户端将无法利用注册。

如果您更喜欢使用 DiscoveryClient 来定位配置服务器,您可以通过设置 spring.cloud.config.discovery.enabled=true (默认为“false”)来实现。最终结果是客户端应用程序都需要具有适当发现配置的 bootstrap.yml(或环境变量)。(……)”