在Eureka注册我的配置服务器有什么用吗?

时间:2018-04-20 07:34:40

标签: java spring-boot spring-cloud-netflix spring-cloud-config

我在所有配置服务器客户端的spring.cloud.config.uri文件中指定配置服务器URI bootstrap.properties

那么有没有使用@EnableDiscoveryClient注释添加它,并在Eureka注册配置服务?

2 个答案:

答案 0 :(得分:2)

有很多用例,为什么在Eureka上注册配置服务器会很有用:

Discovery-first bootstrapping

使用Spring云配置服务时,在引导应用程序时有两种选择,如the documentation所述:

  1. 使用配置优先设置(默认)
  2. 使用发现优先设置
  3. 当您使用发现优先设置时,所有应用程序都可以通过在Eureka上查找配置服务的URL来检索其配置:

    spring.cloud.config.discovery.enabled=true
    spring.cloud.config.uri=http://config-service
    

    在这种情况下,应用程序将在Eureka上查找名为config-service的服务,并将使用给定的主机名和端口进行连接。

    可发现

    一些工具,如Zuul,Spring启动管理员......将自动发现所有应用程序并使用它们,例如:

    • Spring boot admin可以设置为自动发现所有应用程序来管理它们。
    • Zuul会自动将匹配/{application-name}/**的所有路由转发给指定的应用程序。

答案 1 :(得分:1)

@EnableDiscoveryClient激活Netflix Eureka DiscoveryClient实现并告诉它使用服务注册表注册自己。

因此,如果没有此注释,您的应用程序将无法将自己注册到任何注册表。因此也不会从任何服务中发现。

修改:将您的申请注册到DiscoveryServer会带来许多好处,其中一些好处如下:

  • 应用程序独立性:将应用程序注册到DiscoveryServer时,它会将其与其他应用程序分离。这样做您不需要在使用应用程序时对应用程序的名称和URL进行硬编码。
  • 负载平衡:将您的应用程序注册到DiscoveryServer提供了一种有效且高效的方法来提供负载平衡。
  • 同一应用程序的多个实例:为了提供负载平衡,您可以添加单个应用程序的多个实例。
  • 恢复能力:当实例不工作时,服务器可以使用断路器有效地处理请求,并有助于使系统响应和弹性​​。