其他一些框架允许您运行多个服务器并在客户端枚举它们。Spring Cloud Config 有这样的功能吗?
您应该使用Spring Cloud Netflix Eureka将 Eureka Server 作为服务发现包含在内,并将Eureka Client包含在服务(微服务)中。您可以让配置服务器向发现服务注册。
Spring Cloud 配置发现服务
来自文件:
如果您使用 DiscoveryClient 实现,例如 Spring Cloud Netflix 和 Eureka Service Discovery 或 Spring Cloud Consul,您可以让 Config Server 注册到 Discovery Service。但是,在默认的“配置优先”模式下,客户端无法利用注册。
如果您更喜欢使用 DiscoveryClient 来定位 Config Server,可以通过设置 spring.cloud.config.discovery.enabled=true 来实现(默认为 false)。这样做的最终结果是客户端应用程序都需要具有适当发现配置的 bootstrap.yml(或环境变量)。例如,使用 Spring Cloud Netflix,您需要定义 Eureka 服务器地址(例如,在 eureka.client.serviceUrl.defaultZone 中)。使用此选项的代价是启动时额外的网络往返,以定位服务注册。好处是,只要 Discovery Service 是一个固定点,Config Server 就可以改变它的坐标。默认服务 ID 是 configserver,但您可以通过设置 spring.cloud.config.discovery.serviceId 在客户端上更改它(在服务器上,
例如bootstrap.yml
在服务(客户)中:
spring:
application:
name: example-service
cloud:
config:
fail-fast: true
discovery:
enabled: true
service-id: configuration-server
# Eureka client
eureka:
client:
prefer-same-zone-eureka: true
region: region1
service-url:
zone1: http://discovery-server-01:8761/eureka/,http://discovery-server-02:8761/eureka/
availability-zones:
region1: zone1