Cloud config server和Eureka有什么区别

What is the difference between Cloud config server and Eureka

在Cloud config中,我们存储了可供其他微服务访问的配置。在 Eureka 中,我们还存储配置信息。那么有什么区别,什么时候用什么?

根据我在 spring 云配置服务器和 spring 云 Netflix 的 Eureka 服务器上的实验知识,我发现了以下内容,

  1. 每当使用 Spring-Cloud-Config-Server 时,我们应该提及 git URI,这个 git URI 将包含 yml/property 个文件 spring 配置文件和其他服务器端口相关详细信息。

--- spring: cloud: config: server: git: uri: https://github.com/username/repository-name searchPaths: ConfigData # "native" is used when the native profile is active, for local tests with a classpath repo: native: searchLocations: classpath:offline-repository/ server: port: 8001

如果您看到 yml 文件,我将 uri 指定为 git-uri,其中我的其他 spring-profile 位于 ConfigData 文件夹下,我告诉服务器应该在哪个端口 运行 即 8001.

现在,当您 运行 您的 cilent 应用程序配置了以下 yml 文件时

--- spring: profiles: active: northamerica application: name: lab-3-client cloud: config: uri: http://localhost:8001 server: port: 8002

您的所有客户端属性都将被服务器属性覆盖。

  1. 每当使用 Spring-Cloud-eureka-server 时,我们将不会连接到 spring-cloud-config-server,而是连接到 eureak 以发现所有将拥有配置文件详细信息的客户端

--- spring: 配置文件:默认 服务器: 端口:8010<br> 尤里卡: 实例: 主机名:尤里卡主机 客户: registerWithEureka: 假 获取注册表:错误 服务网址: 默认区域:http://${eureka.instance.hostname}:${server.port}/eureka/

通过使用下面的 yml 文件和@EnableDiscoveryClient cilent 将注册到 eureka 服务器,这是使用 sprin-cloud-config-server 无法完成的

--- eureka: client: serviceUrl: defaultZone: http://localhost:8010/eureka/ server: port: ${PORT:${SERVER_PORT:0}} # Select any available port if neither port nor server port are specified.

通过查看所有配置,我的理解是

a) 使用配置服务器,您可以集中管理所有环境中应用程序的外部属性。

b) 将多个客户端注册到多个服务器,使用spring-cloud-eureka

在进一步了解之后,我明白了 Eureka 并不是用来存储配置的。它用于服务注册和发现。 Cloud Config 充当集中式配置机制。另一方面,Eureka 意味着服务可以相互发现,而无需在任何地方对主机和端口进行硬编码。