问题标签 [spring-cloud-consul]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-cloud - Spring Cloud Consul:向 Consul Cluster 报告的不是 IP,而是 DNS 名称
在我的 Spring Cloud Consul 中,我发现该程序使用节点的 IP 地址报告自己,而不是 DNS 名称。
我需要使用 DNS 名称报告它。我怎么能配置呢?
spring-cloud-contract - 使用 Spring Cloud Contract,如何为不同的主机/端口设置多个 Wiremock 存根?
使用 Spring Cloud Contract 设置多个 Wiremock 存根的最佳方法是什么,这些存根具有不同的主机/端口,并且都在由单个 @Test 方法执行的代码中调用?比如我要测试ServiceA.doSomething(),这个方法调用ServiceB.doSomethingElse()和ConsulClient.getKVValue()。创建 WireMockRestServiceServer 的一个实例没有问题,但我还没有弄清楚如何创建第二个以在指向不同基本 URL 的同一测试中使用。我尝试这样做的原因是因为我需要将我们对 Consul 的调用存根,并且我需要将这些请求始终发送到http://localhost:8500,从而我的其他请求通过负载发送平衡的 RestTemplate。我希望我已经清楚地解释了我的情况。
spring-boot - 通过 BeanDefinitionRegistryPostProcessor 注册的 @RefreshScope 注释 Bean 在 Cloud Config 更改时未刷新
我有一个动态注册 bean 的 BeanDefinitionRegistryPostProcessor 类。有时,正在注册的 bean 具有 Spring Cloud 注释 @RefreshScope。但是,当云配置环境更改时,不会刷新此类 bean。调试时,会触发相应的应用程序事件,但是,动态 bean 不会被重新实例化。需要一些帮助。下面是我的代码:
测试动态道具:
TestDynaPropConsumer:
BeanDefinitionRegistryPostProcessor:
配置类:
应用程序.java
而且,我的 bootstrap.properties:
应用程序属性
spring-boot - 我的 Spring Boot 应用程序的 /health 端点正在发出有关在同一台机器上运行的 Consul 服务器的所有信息。如何禁用此功能?
我启用了 /health 端点,但我只是不希望它列出 Consul 在同一台机器上监控的所有服务。
这是我的 application.properties:
...这就是 /health 当前发出的内容:
我不介意and"description": "Spring Cloud Consul Discovery Client"
下的其余内容是我不想暴露的。"consul"
"discoveryComposite"
/health
什么可以将这些信息添加到此端点?
spring-boot - 在 Spring-boot 中用于配置的 Consul 键值对
我试图将我的注册服务器从“Eureka”更改为“Consul”,并将 Consul 作为我的配置服务器。Consul 的服务发现是成功的。但我不明白如何获取键/值对选项来引导我的应用程序。我有什么可能的方法吗?
我使用具有以下依赖项的弹簧靴
这是我的春季启动应用程序 ConsuleDemoApplication.class
我的 bootstrap.yml 是
spring-boot - 无法在引导时从 Consul 读取日志记录配置
我正在为基于 Spring Boot 的 RESTful 服务使用 logback 配置。我的一些日志配置属性驻留在 Consul 的 KV 存储中(例如 smtp 主机)。我还在我的项目中使用“spring-cloud-starter”进行 hystrix 配置。
对于配置,我使用“logback-spring.xml”,以便通过“springProperty”标签访问 logback 配置中的 spring 上下文。
现在,我的问题是,在引导时,BootstrapApplicationListener 被调用,它读取所有引导资源(bootstrap.properties)并加载日志系统。此时,Consul 配置(ConsulAutoConfiguration)尚未加载,因此未找到所需的日志记录配置,因此未正确初始化 logback。
有没有办法在执行 BootstrapApplicationListener 之前或期间加载 Consul 配置,以便日志系统正确初始化?
或者,有没有其他方法可以在读取 Consul 属性后重置日志系统?
谢谢。
spring - 通过 Spring cloud cli 启动 Groovy 应用程序时 Spring cloud consul 配置的问题
我正在探索 Consul 的发现和配置服务器。我已经添加了所需的依赖项并设置了 yml 文件。当我尝试使用spring cloud cli(Spring run)启动服务器时,我收到以下错误,我无法解决。任何帮助表示赞赏。
错误:“组件需要一个名为 'configServerRetryInterceptor' 的 bean,但无法找到。”
我试图定义这个bean,但是当我通过spring cloud cli启动应用程序时,它无法识别它。
请看下面的代码
spring-cloud - “spring.cloud.consul.host”配置值可以有多个领事代理吗?
我对这个配置有点困惑。我的 Spring Boot 应用程序@EnableDiscoveryClient
已spring.cloud.consul.host
设置为localhost
. 我正在运行我的 Boot 应用程序的主机上运行 Consul Agent,但我有几个问题(似乎无法在文档中找到我的答案)。
这个配置可以接受多个值吗?
- 如果是这样,我更愿意将值设置为 Consul 服务器地址列表(但是,运行 Consul 代理的意义何在,所以这似乎不切实际,这意味着我在这里不理解某些东西)
- 如果没有,我们是否应该在每个正在运行 Boot 应用程序的节点上运行 Consul Agent
@EnableDiscoveryClient
?(这也感觉不对;一方面,这似乎是单点故障,即使一个代理应该能够告诉有关集群的所有信息;如果我无法联系这个代理怎么办?) - 这种配置的最佳实践是什么?
consul - 从 Consul 中删除死服务
我们有许多 Spring Boot 应用程序向 Consul 注册自己(通过 Spring Cloud Consul)。如果我停止这些应用程序,docker-compose stop myservice
那么它们会正确注销自己并从 Consul 中消失。
如果我使用docker-compose kill myservice
,那么注销不会发生。我知道在 UNIX 系统上不可能捕获 SIGKILL 事件,因此无法强制取消注册。
因此,我们看到的是 Consul 中从未删除的服务(critical
在 UI 中标记为但仍可见)。有没有办法强制领事刷新注册的内容,以便删除死服务?
谢谢
缺口
spring - Spring boot 从领事服务器获取属性
我有一个弹簧启动应用程序,我想获得我在领事代理上的属性。
我的 application.properties 在 src/main/resources 下
在 pom.xml 我有以下配置(短版)
属性以这种格式存储在 consul 上:Business/SOAPProxy/proxy.endpoint
当应用程序启动时,它似乎找到了 consul,但在尝试 consul @Value("${proxy.endpoint}") 之前它无法获取值,我怎样才能获得 consul 的属性?