问题标签 [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 回答
2797 浏览

java - 覆盖spring-boot EurekaInstanceConfigBean

我正在构建一个基于 dockerized spring-cloud 的微服务,该微服务向 eureka 注册。注册过程的一部分是向主机询问映射到容器的端口,以便 docker 可以为容器化服务选择一个空闲的主机端口。

我有一个基于主机的服务,dockerized 服务可以请求端口映射,现在我正在尝试使用外部端口向 eureka 注册微服务。

我在微服务中获得了正确的端口,但无法覆盖EurekaInstanceConfig.

我试过的:

我的自定义EurekaInstanceConfigBean被创建但配置没有被拾取(服务注册到它的内部容器端口)。

问题是:我如何覆盖EurekaInstanceConfigBean

编辑(2):

正如史蒂夫指出的那样,现在 spring-cloud-1.0.0.RELEASE 可用,我以前的大多数解决方案现在已经过时了。我附上了我的最终解决方案,以防有人尝试类似的事情:

0 投票
0 回答
1344 浏览

spring-data-rest - Spring Cloud zuul 代理映射与 Spring Data Rest API

在关于Angular JS 和 Spring Security的文章之后,我有一个基于 Spring Data Rest 的 API 和 angularjs 上的客户端应用程序。API 托管在上下文“some-api”上,而客户端应用程序托管在根上下文上。客户端应用程序的 Zuul 代理配置如下所示。虽然一切都很好,但客户端应用程序和 API 之间的代理配置并没有按预期工作。来自客户端 /api 的响应包含中断 API 调用的“some-api”子上下文。

祖尔配置:

API 应用程序:

http://localhost:9988/some-api/

客户端应用程序:

http://localhost:9900/api/

0 投票
8 回答
48100 浏览

spring-cloud - Zuul 在长请求中超时

我正在使用前端 Spring Cloud 应用程序(微服务)作为 Zuul 代理(@EnableZuulProxy)将请求从外部源路由到使用 Spring Cloud(Spring Boot)编写的其他内部微服务。
Zuul 服务器直接来自示例部分中的应用程序

我在本地运行了这组服务,一切似乎都运行良好,但如果我在有一定负载的网络上运行它,或者通过 VPN,然后我开始看到 Zuul 转发错误,我在日志中看到客户端超时.

有什么方法可以更改 Zuul 转发的超时时间,以便我可以从我的直接关注中消除这个问题?为此有哪些可访问的参数设置?

0 投票
1 回答
352 浏览

spring-cloud - 如何避免 configserver.yml 出现在 Spring Cloud 配置服务器 /env 资源输出中?

我能够定义一个 Spring Boot 项目并在我的 pom 中包含以下依赖项:

然后我在我的班级上添加了@EnableConfigServer 注释。到目前为止,一切都很好。然后我创建了一个 bootstrap.yml 文件来指向我的 git 存储库。应用程序运行并获取我在存储库中定义的配置文件。一切似乎运作良好。为了达到这一点,进行了很多试验和错误并进行了挖掘。

当我调用http://localhost:8888/env时,我看到两个 applicationConfig JSON 对象出现。第一个来自 configserver.yml 文件,该文件嵌入在 spring-cloud-config-server jar 中,该 jar 有助于基本 spring 上下文。第二个来自我的 bootstrap.yml。

我能够从我的 git repo 访问我在 bootstrap.yml 中配置的属性文件,并且想知道如何覆盖出现在 configserver.yml 中的其他属性,例如 server.port 值。如果这个问题已经被问过,我很抱歉。我正在尝试按原样使用 spring-cloud-config-server jar,无需修改,也无需拉代码进行重建。

0 投票
0 回答
3887 浏览

java - 如何在 Spring-cloud-aws 框架中正确实现 SNS 接收器?(即@NotificationMessageMapping)

我目前正在使用 Spring 4.1.4 使用 STS 3.6.3SR1。尝试测试 spring-cloud-aws 在我们的应用程序中使用的可行性。

与问题相关的罐子:

spring-cloud-aws-autoconfigure-1.0.0.RC2.jar

spring-cloud-aws-context-1.0.0.RC2.jar

spring-cloud-aws-core-1.0.0.RC2.jar

spring-cloud-aws-messaging-1.0.0.RC2.jar

使用 aws-sdk-1.9.3

目前在我的 xml 上下文文件中有这个。

目前将此 Controller 类定义为我的端点。

在上面的类中,SnsHelper 实现了NotificationStatus并且我已经正确地确认了订阅。我也收到了handleNotificationMessage 方法的通知。但是,无论我发送什么,这两个字符串都评估为 null。

我相信这与notificationResolver没有正确注册/应用有关。

任何人都可以提供一些指导吗?

谢谢您的帮助。

0 投票
1 回答
2040 浏览

spring-cloud - Spring Cloud Turbine 空流

我有一个作为涡轮服务器和 Hystrix 仪表板的 Spring Cloud 应用程序。它有一个 Eureka 客户端,仪表板正常运行,可以看到一个单独的 Hystrix 流,但我在涡轮流中没有得到任何东西。

这是 application.yml:

如果我在 Turbine/dashboard 应用程序启动时查看日志,它看起来好像发现我的 Hystrix 服务正常:

如果我在

我得到:

当我查看涡轮机/仪表板日志时,我没有看到任何错误:

如果我直接或通过仪表板(例如http://nf-app1:8080/hystrix.stream )点击其中一个项目流,我将获得有效的 Hystrix 数据 。

看起来 Turbine 应用程序正在通过 Eureka 找到这两个项目服务,并且它们的 Hystrix 流端点是有效的并且可以工作,所以我无法弄清楚为什么 Turbine 流是空的。

0 投票
1 回答
6663 浏览

spring-cloud - 在 Spring Cloud 中保护 Eureka

我很好奇我有哪些选择来保护连接(注册和获取迪斯科信息)到尤里卡的服务。显然我想在 Eureka 中打开安全性并为服务指定一个用户名密码。

我的一个问题是尝试连接到 eureka 的服务如何指定其凭据?是通过区域的规范吗?这个参考的格式是什么?

***我实际上是上述问题的答案并发布在下面,但仍然想知道以下内容

同样,我可以指定更严格的安全机制吗?如果可以,应该指定哪些以及如何指定?

0 投票
0 回答
440 浏览

spring - Spring Cloud 单点登录,但前提是已经登录

我有一个 spring cloud oauth2 服务器启动并运行 jwt 和一个配置如下所示的客户端

这一切都很好,应用程序重定向到身份验证服务器并在完成后重定向回 Portal 应用程序。

客户二号

但现在我有了另一个客户,它是一家网店。

如果用户在身份验证服务器上登录,那么网上商店应在顶部显示一个栏,其中包含指向用户先前订单和个人资料的链接。

如果用户没有登录,那么在他们必须登录或创建帐户的结帐步骤之前什么都不会发生。

问题

如果我已经登录到身份验证服务器,如何自动登录,否则允许匿名用户?

我可以以某种方式使用 spring.oauth2.resource.userInfoUri 来实现这一点吗?

0 投票
1 回答
15621 浏览

java - 将 spring-cloud 与 netflix Eureka 一起使用时,如何让 Discovery Client 工作?

我正在尝试使用带有 netflix 插件(例如 Hystrix、Eureka 和 Ribbon)的 Spring Cloud 制作一个基本项目,以了解它是如何工作的。我正在尝试制作的项目是一个简单的消息服务器,它将保留消息。还有一个消息客户端,它只会向服务器询问消息,我想为此使用自动发现客户端或 RestTemplate 发现。但我不能让任何一个工作。

我有以下结构:

  • 消息客户端(尤里卡客户端)
  • 消息服务器(尤里卡客户端)
  • 配置服务(配置服务器)
  • 发现服务(尤里卡服务器)

我目前所做的是启动配置服务,并在所有这些“应用程序/客户端”通过以下结构连接时向所有这些“应用程序/客户端”公开 application.yml 详细信息:

  • 配置服务\src\main\resources\config\appname.yml
  • app\src\main\resources\bootstrap.yml(包含应用名称和云配置的 url)

这工作得很好,我的应用程序在它们从配置服务器接收的端口上启动,并且它们都连接到我的 eureka 服务器,并且它们都在那里可见。以及 Hystrix 故障转移也在工作,并不是说它与此有关,但它告诉我它不可能完全错误。

但是我的困惑来了......当在我的客户端模块内的服务类(@Service 注释)中使用@Autowired 注释时,我得到了一个 discoveryClient 对象,但我无法找到使用该对象的任何其他服务。

消息客户端 - 引导类:

消息客户端 - REST 资源:

消息客户端 - 消息客户端:

保存消息的消息服务器引导类与我的客户端具有相同的注释。

正如我所说,我的服务班找不到任何东西。这让我想到了所有的问题:

  1. 实际使用功能区负载平衡器需要什么?
  2. 我是否必须使用功能区才能使用“自动发现”,我想不是,但现在我很困惑。
  3. 据我了解,在使用 EnableEurekaClient 时,我也不需要使用 EnableDiscoveryClient 吗?
  4. 我可以在运行时为客户端更改配置服务器上的 yml 文件并且只需要重新启动客户端吗?
  5. 配置服务器真正要共享多少配置,因为目前我所有的客户端都只包含一个超级基本的 bootstrap.yml 文件。
  6. 有没有人有一个很好的链接,我可以在哪里阅读更多关于我的 yml 文件中设置的所有属性的信息?既有关于存在的属性实际作用的文档,也有关于如何将它们与 Spring Cloud 结合使用的一些文档?
  7. 我是否需要特定属性才能使我的应用程序/客户端能够找到其他应用程序/客户端?

编辑信息

感谢您快速而出色的回复,我今天一遍又一遍地经历了这个,终于让我的应用程序正常工作了。问题(我不明白为什么,希望你能帮助我理解)是我的发现服务包含我的每个其他客户端的 yml 文件,我在其中指定端口和 eureka 信息等内容。我在这里指定的是:

所以,当我设置这个值时,它似乎覆盖了一些使我的服务发现不起作用的东西。即使我可以在尤里卡服务器中看到我的所有应用程序,当我设置这个值时,它们也无法找到彼此。

我通过在配置服务中有一个 message-server.yml 文件来设置此值,该文件在引导后发送到我的消息服务器应用程序。

那么我有两个新问题。

  1. 如何覆盖此 eureka 服务器属性?
  2. 当我设置这个值时,为什么我的发现客户端停止工作,它实际上是做什么的?
0 投票
1 回答
415 浏览

spring-cloud - 重新映射 Eureka 上下文

开箱即用,eureka 在“/”处提供信息,如“ http://localhost:8761/ ”。

有没有一种简单的方法来改变这个上下文?比如说,我想要这个“ http://localhost:8762/services ”来代替?