问题标签 [spring-cloud]

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.

0 投票
1 回答
307 浏览

spring - Spring Cloud Netflix 1.0.0 RC2 破解应用

我有一个与 Spring Cloud Netflix 1.0.0.RC1 配合使用的应用程序。当我升级同一个项目以使用 RC2 工件时,在应用程序启动期间出现以下异常。

POM 文件如下所示:

与 RC1 相同的 POM 文件作为版本工作正常。我尝试手动将 javax.el:javax.el-api:2.2.4 添加到 POM,但是由于存在该依赖关系,Tomcat 无法正常启动(日志中没有错误,但也没有 Tomcat 启动)。

0 投票
2 回答
16230 浏览

spring-boot - Spring Boot + Eureka Server + Hystrix with Turbine:空的turbine.stream

我正在尝试运行 Spring Boot(使用 Spring Cloud)+ Eureka Server + Hystrix Dashboard 和 Turbine 流,但我遇到了一个问题,到目前为止我找不到任何解决方案。我使用 Spring Boot 1.2.1.RELEASE和 Spring Cloud 1.0.0.RC2。这是我所拥有的:

第一个实例正在运行 Eureka 服务器和 Hystrix 仪表板:

在这里您可以找到build.gradle该实例 - https://gist.github.com/wololock/570272ad7cf2d14a4d3c

Eureka 服务器运行正常,我可以在 eureka 服务器仪表板上看到已注册的实例,我还可以LoadBalancer使用它的 id 获取注册实例的 URL。到目前为止一切正常。

我有一些使用@EnableHystrix注释运行的实例,@HystrixCommand用于定义 Hystrix 必须监视哪些方法。当我将单个实例的 hystrix.stream 的 URL 传递给 Hystrix 仪表板时,我可以看到它运行没有问题。

我也有单独的涡轮服务器,并不复杂:

在这里您可以找到build.gradle涡轮服务器实例 - https://gist.github.com/wololock/ff0d855b8a890232851e

它使用非常简单的配置,主要基于示例涡轮应用程序提供的配置 - https://github.com/spring-cloud-samples/turbine

按顺序运行这些实例后:

  1. 尤里卡服务器
  2. 涡轮服务器
  3. 发现客户端实例,

我在尤里卡服务器中注册了第二个和第三个实例,涡轮服务器日志说,有一个实例:

从单个实例调用 hystrix.stream 有效,例如curl http://localhost:8885/hystrix.stream返回:

但是,当我将涡轮机.stream 附加到 hystrix 仪表板时,我什么也得不到。日志说:

如果我这样做,curl http://localhost:8989/turbine.stream我只会得到:

我的问题是:我在设置和运行时是否遗漏了什么?以前我试图通过在单个实例中拥有尤里卡和涡轮服务器来管理这个,但在那种情况下,涡轮机甚至无法使用正确的应用程序名称在尤里卡中找到注册的应用程序。我在拆分 eureka 和涡轮后取得了进展,但它仍然无法正常工作。

我将不胜感激任何建议。如果您需要更多信息,请告诉我,我可能会错过一些重要的信息。

更新 20150209

按照 Dave 的建议,我application.ymlturbine-server. 现在该文件仅包含:

但它不会使turtle.stream 工作。在 Turbo-server 获知 eureka 服务器中的注册客户端后,它会失败并出现以下异常:

我尝试过写作'default'default但不幸的是结果是一样的。

解决方案

感谢 Dave Syer 找到了合适的解决方案。基本上,诀窍是添加:

归档到application.yml涡轮服务器应用程序实例中。它可能看起来很奇怪,我不相信它会起作用,但确实如此。现在,当我调用我的 hystrix 客户端应用程序时,我得到了hystrix.stream由该应用程序和turbine.stream涡轮服务器提供的正确信息。我当前application.yml的涡轮服务器如下所示:

turbine.appConfig保存有关 hystrix 客户端的信息(通过它们的 ID)。要将另一个客户端添加到您的涡轮服务器,您必须简单地放置另一个实例 ID,与前一个以逗号分隔。这就是所有人:)

0 投票
5 回答
20065 浏览

spring - 没有 Spring Boot 的 Spring Cloud Config 客户端

我们有一个现有的 Spring Web 应用程序作为 WAR 文件部署到 Amazon Elastic Beanstalk 中。目前,我们将属性文件加载为 http 资源,以便为我们提供属性占位符配置解析的单一来源。我正在研究用新的 Spring Cloud 配置服务器替换它,以便为我们提供 git 版本控制等的好处。

但是文档(http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html)似乎只描述了一个 Spring Boot 客户端应用程序。是否可以在现有 Web 应用程序中设置 Spring Cloud Config Client?我是否需要手动设置 Bootstrap 父应用程序上下文等 - 有没有这样的例子?我们当前的 spring 配置是基于 XML 的。

0 投票
3 回答
50585 浏览

spring-boot - Spring Cloud Config Server 启动时找不到 PropertySource

当我启动 Spring Cloud Config Server 时,出现以下错误。

但是,当我在浏览器中点击该 URL 时,它存在并且配置服务器正在工作。到底是怎么回事?

应用程序.yml

引导程序.yml

0 投票
1 回答
2789 浏览

spring-cloud - 春天云AWS。消息处理成功后手动删除 SQS 消息

Spring Cloud AWS(1.0.0.RC2)中SimpleMessageListenerContainer类的当前实现似乎在消息处理程序完成处理消息并且方法调用返回后自动删除消息。

在我们的应用程序中,我们需要能够处理消息并等待来自下游队列的异步确认,然后再从 SQS 上游队列中删除消息。就像是

接收 SQS msg -> Process msg -> Publish msg to RabbitMQ(线程在这里完成)

删除 SQS 消息 <- 我们的应用程序 <- RabbitMQ 消息成功 Ack(异步)

由于 msg ack 通过不同的线程异步返回,一旦我们检查了成功 ack,我们需要从 SQS 中手动删除 msg 的选项。

理想情况下,SimpleMessageListener 应该可配置为它在哪种模式下运行(自动删除或手动删除)。

我们非常希望使用 spring aws cloud lib(而不是推出我们自己的)与 SQS 集成,因为它已经处理了侦听器容器 bean 生命周期管理。

请让我知道上述建议的功能是否可行,如果可行,何时可以实施和发布。

谢谢。

0 投票
3 回答
22444 浏览

spring-boot - 有没有办法在 Spring Boot 应用程序配置中使用 Spring Cloud {cipher}?

我有一个使用 Spring Cloud Config 的 Spring Boot 应用程序,但我想在 Spring Boot 应用程序 bootstrap.yml 文件中加密 Spring Cloud Config 密码。有没有办法做到这一点?下面是一个例子。

Spring Boot 应用程序 bootstrap.yml

0 投票
2 回答
3566 浏览

spring - 使用 Spring Cloud 设置数据源

我正在寻找一个简单的示例,用于从运行 Spring Cloud 的配置服务器设置数据源(jdbc)。我已经阅读了 Spring Cloud 的 Spring.io 文档,发现它们非常混乱。

有谁知道一个地方可以找到一个简单的例子?我试图运行他们在 Github 上的东西,但他们没有构建。

0 投票
5 回答
6245 浏览

spring-cloud - Spring cloud eureka 客户端到多个 eureka 服务器

我能够让尤里卡服务器以对等模式运行。但我很好奇的一件事是如何让服务发现客户端注册到多个 eureka 服务器。

我的用例是这样的:
假设我有一个服务注册到其中一个 eureka 服务器(例如服务器 A),并且该注册被复制到它的对等方。该服务实际上指向服务器 A。如果服务器 A 出现故障,并且客户端希望与服务器 A 续订,如果服务器 A 不再存在,续订如何工作。我是否需要同时注册两者,如果不需要,如果客户端无法与服务器 A 通信,续订如何发生。它是否对服务器 B 有一些了解(从其与 A 的初始和/或后续通信)并故障转移它的注册更新在那里?这在任何文档中都不清楚,我需要验证

因此,根据答案,我将以下内容添加到我的 application.yml

它只注册到逗号分隔列表中的第一个。如果我在尤里卡服务器之间切换它们的注册翻转。

我可以看到它确实基于逗号分隔这些,但我的猜测是 Eureka 没有在下面使用它(来自 EurekaClientConfigBean.java)

0 投票
0 回答
1344 浏览

spring-cloud - Spring Cloud Feign 客户端不会为不同的实例连接不同的上下文根

我正在使用 Eureka 评估 Spring Cloud 以及使用 Ribbon 评估 Feign Client。我一直在创建的示例应用程序有一个可以很好地接收客户端的 Eureka 服务器。

但是,在使用 FeignClient 时,RequestMapping 需要包含 Context Path。

在我最初的案例中,我有两个服务具有相同的 VIP 但不同的 ID。- 本地主机上的一项服务:8080/ - 本地主机上的一项服务:7400/HelloWorld

不同上下文根的原因是由于我无法轻易更改的潜在部署结构。

这是我需要在我的客户端中配置的东西吗?或应用程序或这是不可能的?

这是我的@FeignClient

理想情况下,RequestMapping 只会是值“/”

0 投票
1 回答
12447 浏览

spring-cloud - 如何在 Spring Cloud 中创建自定义 zuul 过滤器

我想为我正在编写的 Spring Cloud 微服务编写一些我自己的自定义 zuul 过滤器。一旦我编写了过滤器,我该如何集成它,以便底层的 netflix zuul 框架可以利用它。