使用Eureka Server运行配置服务器时,建议的配置是什么? Config Server应该是Eureka的客户吗?或者Eureka是否应该依赖Config Server属性进行配置?或者两个都好吗?
答案 0 :(得分:4)
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来处理其余的工作。