Spring Cloud Eureka with Config Server

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


答案 1

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

正如Spring Cloud的创始人David Syer在这些(和这个)问题上所说,你必须使用带有前端负载均衡器的配置服务器,因此单个URL已经高度可用。

我也是Spring Cloud的新手,但我同意他的观点,因为Eureka是一个服务发现,恕我直言,它应该只在它的问题域上运行。这将为Eureka服务器提供复杂的逻辑,这些服务器要求配置配置。我无法想象如果配置服务器也是尤里卡的服务器来获取其默认Zone列表,那么Eureka服务器将如何知道要获取哪个配置服务器。

对我来说,分离配置服务器的HA会简单得多。


答案 2

基于@Mideel的回答

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

使用注释注册配置服务器(它应该自动配置为注册到Eureka)@EnableEurekaClient


推荐