Cloud config server和Eureka有什么区别

时间:2017-09-01 08:40:05

标签: netflix-eureka spring-cloud-config

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

2 个答案:

答案 0 :(得分:1)

根据我对spring cloud配置服务器和Spring Cloud Netflix的Eureka服务器的实验知识,我发现了以下内容,

  1. 每当使用Spring-Cloud-Config-Server时,我们都应该提到git URI,这个git URI将包含带有spring profile和其他服务器端口相关细节的yml / property文件。
  2. --- 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给出了我的其他弹簧配置文件放在ConfigData文件夹下,并告诉我应该运行哪个端口服务器,即8001。

    现在,当你使用下面配置的yml文件运行你的cilent应用程序时

    --- 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以发现将拥有个人资料详细信息的所有客户
    2. --- spring: profiles: default server: port: 8010
      eureka: instance: hostname: eurekahost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

      使用下面的yml文件和@EnableDiscoveryClient cilent wil注册到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)使用Config Server,您可以在所有环境中管理应用程序的外部属性。

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

答案 1 :(得分:1)

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