在Cloud config中,我们存储可由其他微服务访问的配置。在Eureka,我们还存储配置信息。那么有什么区别以及什么时候使用什么?
答案 0 :(得分:1)
根据我对spring cloud配置服务器和Spring Cloud Netflix的Eureka服务器的实验知识,我发现了以下内容,
---
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
所有客户端属性都将被服务器属性覆盖。
---
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意味着服务可以相互发现而无需在任何地方对主机和端口进行硬编码。