Cloud config server和Eureka有什么区别
What is the difference between Cloud config server and Eureka
在Cloud config中,我们存储了可供其他微服务访问的配置。在 Eureka 中,我们还存储配置信息。那么有什么区别,什么时候用什么?
根据我在 spring 云配置服务器和 spring 云 Netflix 的 Eureka 服务器上的实验知识,我发现了以下内容,
- 每当使用 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
您的所有客户端属性都将被服务器属性覆盖。
- 每当使用 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 意味着服务可以相互发现,而无需在任何地方对主机和端口进行硬编码。
在Cloud config中,我们存储了可供其他微服务访问的配置。在 Eureka 中,我们还存储配置信息。那么有什么区别,什么时候用什么?
根据我在 spring 云配置服务器和 spring 云 Netflix 的 Eureka 服务器上的实验知识,我发现了以下内容,
- 每当使用 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
您的所有客户端属性都将被服务器属性覆盖。
- 每当使用 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 意味着服务可以相互发现,而无需在任何地方对主机和端口进行硬编码。