Spring Cloud Eureka与配置服务器

时间:2015-11-13 19:33:24

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

使用Eureka Server运行配置服务器时,建议的配置是什么? Config Server应该是Eureka的客户吗?或者Eureka是否应该依赖Config Server属性进行配置?或者两个都好吗?

4 个答案:

答案 0 :(得分:4)

基于@Mideel's answer

Eureka和Config Client配置(需要为Bootstrap):

# bootstrap.yml
cloud:
    config:
      discovery:
        enabled: true # This is required
        service-id: configserver # Config Server's eureka registry name
      enabled: true # This is default true already

配置服务器配置:

spring:
  application:
    name: configserver # Needs to match client configuration

使用注释@EnableEurekaClient注册Config服务器(尽管它应该已自动配置为已向Eureka注册)

答案 1 :(得分:3)

使用Eureka和Config Server的默认方法是使用Config First bootstrap。基本上,您将eureka服务器作为配置服务器的客户端,但您不能使配置服务器成为eureka的客户端。

正如David Syer在Here(和these)问题上所说的那样,Spring cloud的创始人,你必须使用带有前端负载均衡器的配置服务器,所以已经有一个URL了高度可用。

我也是Spring Cloud的新手,但我同意他,因为Eureka是一个服务发现,恕我直言,它应该只在它的问题领域发挥作用。对于要求Config服务器进行配置的Eureka服务器,这将成为一个复杂的逻辑。我无法想象如果Config Server也是Eureka的服务器以获取其defaultZone列表,Eureka Server将如何知道要获取哪个配置服务器。

将分离Config Server的HA分离起来要简单得多。

答案 2 :(得分:2)

Spring Cloud Config服务为各种其他微服务提供配置信息,其中Eureka服务就是其中之一。

每个应用程序/微服务都指向其配置(来自Config服务)通过bootstrap.properties/.yml,该应用程序在应用程序"识别"之前加载到该应用程序的父上下文中。根据其注释的主类,它是一个发现/ Eureka客户端。 This bit of documentation provides a bit more detail on that process.

干杯, 标记

答案 3 :(得分:0)

如果您使用Spring Boot:

我正在使用Spring Microservices in Action作为指导手册,并根据那里的源代码示例,在配置服务器application.yml中将配置服务器配置为带有@EnableEurekaClient注释的Eureka Client。我们需要添加此属性:

spring: 
  cloud: 
    config: 
      discovery: 
        enabled: true

在使用此配置服务器的另一个Eureka客户端中,您需要将此属性添加到application.yml中:

spring: 
  cloud: 
    config: 
      enabled: true

就是这样,只需正常设置配置服务器,我认为在幕后,Spring Cloud的配置库将使用Eureka来处理其余的工作。