问题标签 [spring-cloud-config]
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-boot - Spring Cloud Bus - rabbitmq不可用标志着实例DOWN
我在我的微服务中使用 spring cloud config bus (rabbitmq)。我在微服务中使用rabbitmq的唯一目的是spring cloud bus……我有2个问题。
在我做实验的时候,我发现 spring 期望rabbitmq 在应用程序启动期间是 UP 并运行的。这与 Spring cloud 所宣传的相反......(断路器......)公平地说,即使是服务发现也不会在启动应用程序之前启动并运行。这背后有什么合理的理由吗……?
说,我在 rabbitmq 启动并运行时启动我的应用程序。由于某种原因,rabbitmq 出现故障......我应该失去的只是我使用 rabbitmq 的能力......相反,/health 端点对我的微服务响应为 DOWN。任何从我的微服务监听心跳的 eureka 实例也会将该实例标记为已关闭。这样做的任何理由...?
据我所知,这与 Spring Cloud 所宣传的断路器模式背道而驰。
我个人觉得spring cloud config bus并不是一个重要的特性来标记一个应用为down...
是否有任何替代方法可以告诉我的 Spring Boot 微服务与 rabbitmq 的连接不是关键服务?
提前致谢!
java - spring cloud config:如何使用多个配置
我想尝试的:
我想尝试spring cloud config
微服务项目,我有一个common config
适用于所有服务和multiple configs
每个服务的项目。
我知道如何使用多个profiles
usingspring.profiles.active
和include
. 我想了解如何在配置客户端上加载多个配置?
我有的:
在我的 git repo 中spring-config-repo
,我有...
我config Server
指出了我的配置仓库。
我有我spring client
想使用多个配置的地方。在我的情况下,orderService
我要加载application.yml,orderclient.yml,jmsconfig.yml
,对于产品微服务,我需要'orderconfig.yml,jmsclient.yml,productclient.yml'
上面我可以从 orderclient.yml 访问属性。
我的问题:
问题1:
如何访问应用程序jmsclient.yml,productclient.yml
中的属性orderclient
。
问题2:
无论如何要获取propertySources.name
配置服务器公开的所有列表?在上述情况下,它应该显示
如果我的问题不清楚或需要更多信息,请告诉我。谢谢。
encryption - 无法从 spring 配置服务器/客户端解密
我正在尝试使用 Spring 配置服务器和客户端加密和解密配置属性。我有spring boot应用程序(服务器和客户端),使用服务器我加密了密码属性,在客户端我试图使用相同的密钥解密它但出现错误。我正在尝试启用配置服务器客户端来解密这些最初由配置服务器加密的属性。以下是我遵循的步骤:
安装 Full-strength JCE 并替换 JRE lib/security 中的 2 个策略文件
使用 keytool 生成密钥
/li>向 pom 文件添加了云安全依赖项(在配置服务器和客户端 pom 中添加了这些)
/li>将加密相关配置(配置服务器和客户端使用的值相同)添加到
/li>bootstrap.yml
也尝试过application.yml
我的配置服务器引导程序看起来像这样
/li>使用配置服务器加密密码属性
/li>尝试使用配置服务器解密属性
/li>
我得到以下错误
我尝试使用配置客户端打印加密属性(注意:我已经添加了依赖项并根据 3,4 加密密钥详细信息)
}
我收到
java.lang.IllegalStateException: Cannot decrypt: key=cassandra.password
错误注意:我尝试在配置服务器中解密
如果我在这里遗漏任何东西,请告诉我。感谢任何帮助。
spring-cloud - 如何使用 Spring Config Service 设置本地配置属性
所以我最近学习了 Spring Cloud 这个很棒的配置服务,经过一番努力,我能够设置我们的分布式应用程序,多个节点从一个配置服务器读取配置属性。
但是我不知道如何解决的一个问题是,即使大多数道具在多个节点上都是相同的,但有些道具需要本地版本,我不知道如何将本地道具与配置服务一起设置。
例如这是我的bootstrap.properties
,
bootstrap.properties
如果我在单独的文件下或在单独的文件中添加其他道具application.properties
,我可以在执行器的 env 端点下看到它们,如下所示,
在我的应用程序中,server.timeout
现在总是 100,我不知道当我使用这样的集中配置服务时如何引用本地值?
json - 通过 JSON 标头进行 Spring Cloud Dataflow 路由
我一直在尝试使用 Spring Cloud Dataflow 创建一个流,但运气不佳(主要是由于缺乏文档)。
问题 1:访问 dockerized Spring Cloud Dataflow 的 Web GUI 我有一个在基本 Ubuntu 容器上运行 Kafka 的 dockerized Spring Cloud 服务器。由于某种原因,我无法访问 Windows 中的 Web GUI(位于 < docker-machine ip >:9393/dashboard)。但是,我有一个单独的 Docker Ubuntu 容器运行 Nginx 反向代理,当我转到 < docker-machine ip >/index.html 等时会显示它。我认为这不是端口问题,我有 Spring使用 -p 9393:9393 设置云容器,否则该端口未使用。
问题 2:按 JSON 标头路由 我的最终目标是从 Nginx 加载一个文件并根据其 JSON 标头(有两个不同的 JSON 标头)进行路由,然后将查询提取到 Cassandra。除了按 JSON 标头排序之外,我可以完成所有这些操作。您会推荐我使用哪个应用程序?
spring - 如何在部署到非嵌入式 tomcat 的 Spring Boot 应用程序中使用 Spring Cloud Config Client?
我想在部署到非嵌入式 tomcat 的 Spring Boot 应用程序中使用 Spring Cloud Config Client 作为spring-boot-traditional。但是,它无法连接到 Spring-cloud-config-server。主要配置类如下,
作为传统样本,它没有扩展SpringBootServletInitializer
。当它扩展初始化器时,它可以连接到 Spring 云配置服务器,但其他功能,包括 CSRF 令牌检查和 Redis 会话都不能正常工作。
谢谢你。
spring-boot - Spring Cloud Configuration - 自动启用 Refresh Endpoint 和 Git 监控
问题
我开始从 Spring Config 开始学习 Spring Cloud。有两个基本问题,因为我必须让我进入学习过程的下一步(通过 Consul 继续进行服务发现)。
- 如何自动启用
/refresh
端点以 POST 到? - 有没有办法自动监控 Git 中的更新?
对于#1,我实现了自己的@RestController
/@RequestMapping
但我所遵循的教程都没有提到这一点。我检查了我的 Maven 配置,它与示例提供的内容相匹配,但没有弹出。
我在这里找到了第二个问题的帖子: spring cloud auto refresh config server property。我只是想知道自 2015 年 11 月以来是否有任何更新。
这两件事似乎都非常方便,并且将与我的 Consul 学习直接交织在一起,因为我可以将配置更新自动推送给注册为服务的每个人。一旦我到达那里,我也可以重新启动,但那是稍后。
更新
我得到了#1的答案。我在我的 Maven 模块中搞砸了我的依赖项配置。在对配置进行了三次检查后,发现这只是飞行员的错误。不过,仍在处理#2 - 如果有人有任何更新,将不胜感激。
spring - 用于 Pivotal 实例上受 SSL 保护的配置服务器的 Spring 云配置客户端
我有一个部署在 PAAS(Cloud Foundry)实例上的 Spring 云配置应用程序。在使用部署在同一个 PAAS 实例上的客户端应用程序中的属性时,我收到 SSL 异常,因为 Pivotal 需要从我的客户端应用程序传递 SSL 证书。现在我尝试了几种方法来解决这个问题 -
- 尝试使用带有 cf_target 集的“cloudfoundry-certificate-truster”-> 这有效,属性加载正常,但我的应用程序无法启动,并且不断崩溃而没有任何错误。
- 尝试使用所需的证书在 src/main/resources 中保留一个 jks 文件,但不知何故,部署的应用程序没有引用它,并且仍然因证书错误而失败。我已经从 main 方法加载了 jks 文件,并在上下文加载之前和之后将 sysouts 与 jks 文件的位置一起放置,sysouts 是一致的,但不起作用:( 注意 - 我有另一个应用程序没有从我的云配置服务器,并且信任库方法在那里工作,如果我在构建后传递jvm属性.云配置客户端的棘手部分是属性在上下文加载之前绑定/加载,因此我被迫设置信任库主要方法。
所以,我想知道是否有人能够让这个东西工作,以及我是否可以以某种方式“懒惰地”加载这些属性,比如在上下文加载之后。我遇到了 spring.cloud.config.enabled=false,禁用自动加载但找不到太多信息 - 这是正确的方法吗?
java - Spring Cloud Config with AWS CodeCommit vis SSH
I am trying to use AWS CodeCommit as a repository for Spring Cloud Config. In terminal I can clone, push, pull, etc using git commands, such as:
However, when I try to use the same codecommit repository in the Spring Cloud Config, it gives an error when trying to clone the repository (The error is below).
This is my pom.xml
This is my only class in the project, to start spring boot:
This is my application.properties
Every time I start the project I get the following error:
Any help with this matter would be highly appreciated. Thanks in advance. P.S.: I know there i a similar question How to use AWS CodeCommit as repository for Spring Cloud Config But it doesn't answer my question, or provided me any help.
java - 使用 ApplicationContextInitializer 进行 Spring Config 测试 - 如何解密?
我对我的 Spring Config 服务器运行了一个测试,以验证应用程序是否正常工作。我做了一些手动测试,在 Spring Confg Boot 应用程序的基本启动中一切正常,但我想要一个单元测试来证明解决方案并能够测试我的开发密钥库等等。
我添加了一个自定义实现以在执行启动时ApplicationContextInitializer
加载数据。application-test.yml
数据未加密时一切正常;但是,当我添加加密属性时,它不会解密它。
我使用的实现是:
是application-test.yml
:
我的测试带有注释@ContextConfiguration (initializers = TestYamlFileApplicationContextInitializer.class)
以启动它。
该测试使用以下命令运行基本检查:
输出是: {cipher}AQB8C/1v9J+jPQZG...
没有列出任何例外。
我错过了哪一块拼图?