问题标签 [netflix-eureka]
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 - 尤里卡 - 无法得到响应 - 无法联系任何尤里卡节点
我有一个在端口 8761 (localhost:8761/eureka) 上运行的 Eureka 服务器,并且我有一个想在 eureka 注册的 Zuul 应用程序,但我一直收到同样的错误:
这是我的 zuul 应用程序的 application.yml:
我是否只是弄乱了这些值之一,因此 zuul 无法看到尤里卡服务器?好像没有正确注册。也许我错过了 application.yml 文件中的一个关键参数?
java - 与功能区/尤里卡一起使用时假装客户端错误
以下是上述课程的测试:
当我使用 TestNG 运行测试时,会引发以下错误:
com.netflix.client.ClientException:负载均衡器没有可用于客户端的服务器:abc-service
Eureka 服务器被配置为查找配置服务器。 application.yml
尤里卡服务器如下:
在运行上述测试之前,配置服务器、eureka 服务器和 abc-service 作为 spring boot 应用程序运行。abc-service 在启动时向 Eureka 注册。
spring-cloud - Spring Cloud Feign 客户端不会为不同的实例连接不同的上下文根
我正在使用 Eureka 评估 Spring Cloud 以及使用 Ribbon 评估 Feign Client。我一直在创建的示例应用程序有一个可以很好地接收客户端的 Eureka 服务器。
但是,在使用 FeignClient 时,RequestMapping 需要包含 Context Path。
在我最初的案例中,我有两个服务具有相同的 VIP 但不同的 ID。- 本地主机上的一项服务:8080/ - 本地主机上的一项服务:7400/HelloWorld
不同上下文根的原因是由于我无法轻易更改的潜在部署结构。
这是我需要在我的客户端中配置的东西吗?或应用程序或这是不可能的?
这是我的@FeignClient
理想情况下,RequestMapping 只会是值“/”
spring-cloud - 设置 server.contextPath 的 Spring Boot 与通过 Eureka Server 到 hystrix.stream 的 URL
我有运行 Turbine 实例的 Eureka Server 和一些连接到它的发现客户端。一切正常,但如果我注册一个已设置的发现客户端server.contextPath
,它不会被识别,InstanceMonitor
并且涡轮流无法组合它的hystrix.stream
.
这是它在 Eureka/Turbine 服务器的日志中的样子:
它尝试从http://user-service:8887/hystrix.stream
正确的 URL (包括 sever.contextPath 应该在的位置)获取 hystrix 流http://user-service:8887/uaa/hystrix.stream
该application.yml
客户端包含:
我的问题是:我应该向这个用户服务发现客户端添加一些额外的配置选项来注册正确的 hystrix.stream URL 位置吗?
我还没有深入研究,如果在得到该问题的答案之前发现了什么,我会告诉你。
当前解决方案
server.contextPath
使用and时存在一个问题management.context-path
。当两者都设置好时,涡轮机流正在运行${HOST_URL}/${server.contextPath}/${management.context-path}/hystrix.stream
。在那种情况下,我不得不放弃使用server.contextPath
(我用控制器中的前缀替换了它@RequestMapping
)。
现在,当您使用 user 时management.context-path
,您的 hystrix.stream 将从使用它作为前缀的 URL 提供。在这种情况下,您必须遵循 Spencer 的建议并设置
当然,这management.context-path
必须为所有发现客户端设置相同的值 - 可以使用 Spring Cloud Config http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html轻松完成
docker - Spring Cloud Samples Eureka - Docker - 在链接中使用下划线
在使用 Spring Cloud、Eureka 和 Docker 时,我可能遇到了一个有趣的异常情况。我不确定我是否发现了问题或行为是否符合预期,但这是要点。
我首先从在一个命名的 docker 容器中运行的 eureka 开始。接下来,我使用 ClientDiscoveryEnabled 启动一个 docker 客户端。docker 客户端容器正在使用 docker “link” 参数来获得对 eureka 容器的主机名可访问性。yaml 文件有一个用于连接到属性驱动的 Eureka 的条目:
一切都很好,除非我尝试在容器名称中使用下划线。如果我使用下划线来命名我的容器,客户端容器无法使用 Eureka 注册完全解析此名称。如果我删除下划线,一切正常。也许我错过了一些东西,这是意料之中的,但我没有看到任何提到这个“功能”。
我的客户来自 Spring-Cloud-Samples feign-eureka 项目。下面是剧情...
这将起作用,客户将注册:
以下将不起作用!Eureka 会启动,客户端会启动,但无法注册:
以下是日志条目和后续异常:
我可以从运行 /bin/bash 的容器中 ping “foo_bar”,而不会出现问题。
我不确定断开连接的来源。或者也许这是我不知道的功能。
有任何想法吗?
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 资源:
消息客户端 - 消息客户端:
保存消息的消息服务器引导类与我的客户端具有相同的注释。
正如我所说,我的服务班找不到任何东西。这让我想到了所有的问题:
- 实际使用功能区负载平衡器需要什么?
- 我是否必须使用功能区才能使用“自动发现”,我想不是,但现在我很困惑。
- 据我了解,在使用 EnableEurekaClient 时,我也不需要使用 EnableDiscoveryClient 吗?
- 我可以在运行时为客户端更改配置服务器上的 yml 文件并且只需要重新启动客户端吗?
- 配置服务器真正要共享多少配置,因为目前我所有的客户端都只包含一个超级基本的 bootstrap.yml 文件。
- 有没有人有一个很好的链接,我可以在哪里阅读更多关于我的 yml 文件中设置的所有属性的信息?既有关于存在的属性实际作用的文档,也有关于如何将它们与 Spring Cloud 结合使用的一些文档?
- 我是否需要特定属性才能使我的应用程序/客户端能够找到其他应用程序/客户端?
编辑信息
感谢您快速而出色的回复,我今天一遍又一遍地经历了这个,终于让我的应用程序正常工作了。问题(我不明白为什么,希望你能帮助我理解)是我的发现服务包含我的每个其他客户端的 yml 文件,我在其中指定端口和 eureka 信息等内容。我在这里指定的是:
所以,当我设置这个值时,它似乎覆盖了一些使我的服务发现不起作用的东西。即使我可以在尤里卡服务器中看到我的所有应用程序,当我设置这个值时,它们也无法找到彼此。
我通过在配置服务中有一个 message-server.yml 文件来设置此值,该文件在引导后发送到我的消息服务器应用程序。
那么我有两个新问题。
- 如何覆盖此 eureka 服务器属性?
- 当我设置这个值时,为什么我的发现客户端停止工作,它实际上是做什么的?
spring-cloud - Netflix Eureka 可以根据元数据查找服务吗?
我知道如何将服务的元数据(名称/值对)添加到注册表。有没有办法根据这些值进行服务查找?
谢谢!
spring-boot - spring cloud eureka server 示例登录挑战
我正在尝试检查 Spring Cloud 的 Eureka 服务器,但我正在尝试登录对话框。有谁知道默认用户名和密码?
谢谢。
spring - Spring Cloud:Eureka 客户端注册/注销周期
为了熟悉 Spring Cloud 的 Eureka 客户端/服务器机制,我尝试将客户端连接到 Eureka 服务器,并每 5 分钟打开/关闭连接,以查看 Eureka 服务器如何处理此问题。
我有两个尤里卡客户。
首先是使用此代码向我提供有关已注册应用程序的信息:
第二个 Eureka 客户端每 5 分钟注册/注销一次:
第二个 Eureka 客户端的日志输出如下所示:
第一次启动两个 Eureka 客户端时,效果很好。第二个客户端由第一个客户端显示,第二个客户端在 Eureka 服务器控制台中可见。当第二个客户端与 Eureka 服务器断开连接时,它不再列在那里,第一个客户端也不再显示它。
不幸的是,当第二个客户端重新连接到 Eureka 服务器时,Eureka 服务器控制台只显示一个大红色突出显示的“DOWN (1)”,而第一个客户端不再显示第二个客户端。我在这里想念什么?
解决方案:
根据 Dave Sayer 的回答,我的解决方案是添加一个自定义 @Configuration,它具有自动装配的 EurekaDiscoveryClientConfiguration 并启动一个用于切换注册的线程。请注意,这仅用于测试目的,因此它可能是一个非常丑陋的解决方案;-)
java - JSONException 使用 Netflix Eureka
我对 Netflix Eureka 和 SpringBoot 还是很陌生。我构建了一个非常简单的 Eureka 服务器和客户端,以了解它们如何在发现方面取得进展。当我在访问 localhost:8761/ 时看到 UI 时,Eureka 服务器会正常加载自身
我正在使用 Eclipse 的 Tomcat 运行这两个实例。
我构建的 Eureka 客户端没有代码,因为它只运行 SpringBoot 应用程序,并带有适当的注释。关于 Eureka 服务器的相同内容。
当我运行客户端时,运行服务器后,我得到以下堆栈。我在网上跑了一些解释,但我没有找到任何解释。你知道是什么导致了这些 JSONObject 异常吗?
服务器端堆栈: http: //pastebin.ca/2968955
客户端堆栈: http: //pastebin.ca/2968957
这是我拥有的代码:
尤里卡服务器.java:
EurekaServer 的 application.yml :
EurekaClientApp.java:
EurekaClient 的 Application.yml :
eureka-client.properties: