gpt4 book ai didi

Spring Cloud Consul Config 优于 Spring Cloud Config

转载 作者:IT老高 更新时间:2023-10-28 13:47:17 26 4
gpt4 key购买 nike

我在这个问题上遇到了真正的困难。我们想使用 Spring Cloud Consul 进行服务发现,我的大学正在插入使用 Spring Cloud Consul Config 而不是 Spring Cloud Config 的想法,我之前已经为相关项目实现了这一点。问题是,Spring Cloud Config 运行良好,并且具有无缝的开箱即用版本控制管道 (git),用于动态集中管理属性。为了在 Spring Cloud Consul Config 中支持相同的功能,似乎需要重新发明已经融入 Spring Cloud Config 的轮子。

有人有使用这两种方法的经验吗?两者一起使用有意义吗?也就是说,让 Spring Cloud Config Client 指向 Spring Cloud Config Server 以获得更多“静态”环境属性(在 dev、qa、stage、production 之间变化的东西,否则都是静态的)和 Spring Cloud Consul Config 用于纯动态属性,如服务发现?

如果我错了,请有人纠正我,但根据我的理解,为了使用 Spring Cloud Consul Config 支持“静态”属性的动态版本控制,我需要做些什么,我需要在说 git 和每个 Spring Cloud Consul Config 应用程序实例的运行实例的物理“/config”目录:/

最佳答案

tl;dr:我使用 spring cloud config 和 spring cloud consul 但不是 spring cloud consul config。

我没有专门使用spring cloud consul config,因为我没有使用consul config,但是我使用的是一个spring cloud config服务器,它在consul中注册,并且我有其他微服务通过consul访问spring cloud config服务器以进行服务发现.服务器和客户端都使用 spring cloud consul 注册和发现配置服务器。并且配置服务器和配置客户端都使用spring cloud config。

这是我的设置:

Spring Cloud 配置服务器

依赖关系:

org.springframework.cloud:spring-cloud-config-server
org.springframework.cloud:spring-cloud-starter-consul-discovery
org.springframework.boot:spring-boot-starter-actuator

bootstrap.properties:

spring.application.name=config-server
spring.cloud.consul.host=CONSUL_HOSTNAME
spring.cloud.consul.port=CONSUL_PORT

application.properties:

spring.cloud.config.server.git.uri=GIT_REPO_URL
spring.cloud.config.server.git.username=GIT_REPO_USERNAME
spring.cloud.config.server.git.password=GIT_REPO_PASSWORD

Application.java:

@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class Application
{
public static void main(String[] args)
{
SpringApplication.run(Application.class);
}
}

Spring Cloud 客户端应用程序

依赖关系:

org.springframework.cloud:spring-cloud-starter-config
org.springframework.cloud:spring-cloud-starter-consul-discovery
org.springframework.boot:spring-boot-starter-web
org.springframework.boot:spring-boot-starter-actuator

bootstrap.properties:

spring.application.name=client-app-name
spring.cloud.consul.host=CONSUL_HOSTNAME
spring.cloud.consul.port=CONSUL_PORT
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server

Application.java:

@SpringBootApplication
@EnableDiscoveryClient
public class Application
{
public static void main(String[] args)
{
SpringApplication.run(Application.class);
}
}

关于Spring Cloud Consul Config 优于 Spring Cloud Config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33749034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com