问题标签 [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.

0 投票
5 回答
54003 浏览

spring-cloud - EnableEurekaClient 和 EnableDiscoveryClient 有什么区别?

在某些应用程序中,我看到人们正在使用 EnableEurekaClient。其他一些示例应用程序正在使用 EnableDiscoveryClient。

这两者有什么区别吗?

0 投票
0 回答
686 浏览

spring - 使用 @LoadBalanced 和 OAuth2RestTemplate 导致找不到类 TypeToken

所以,我使用简单的 RestTemplate 和直接 ip:port 到我的服务:

但现在我想让它意识到尤里卡。所以,所以我@LoadBalanced在我的 restTemplate 上面添加了。myapp当然这里是eureka中注册的服务名称。

但这打破了:

我是否必须在以下位置添加任何额外的依赖项:

?

0 投票
1 回答
616 浏览

spring - Spring Cloud Netflix /refresh 注销服务

我在 Spring Cloud Eureka Server(端口 8761)下运行的端口 10351(localhost:10351 ... testing)上有服务“usermanagement”,应用程序注册良好,我可以在 Eureka 仪表板上看到它

当我发出 POST 以刷新该应用程序 bean 时,应用程序会从 Eureka Server 注销并且永远不会重新注册。

发布 http://localhost:10351/ refresh

如何在 /refresh 之后重新注册应用程序?

这是我发出 POST 后的日志:

看到最后一行了吗?DiscoveryClient --- DiscoveryClient_USERMANAGEMENT/TUSFL000LKVT4TN:usermanagement:10351:0579e19a2d4e3e88d60686eb208d180a - 注销状态:200

在那之后 - 什么都没有

我正在使用这个版本的 Spring cloud

如果重要的话,我的应用程序本身没有 application.yml,但我从我们公司的 GIT 中获取它。它包含 DB 数据源参数

0 投票
2 回答
2626 浏览

spring - Spring Cloud Eureka 服务器没有相互复制,显示警告

我在 spring cloud 中使用两个 Eureka 服务器相互复制,当我在http://localhost:8761打开页面时,我看到了这条消息:

续订低于门槛。自我保护模式已关闭。这可能无法在网络/其他问题的情况下保护实例到期。

尤里卡 application.xml 是这样的:

所以如果我去http://localhost:8761,我会看到所有注册的服务,但是如果我去http://localhost:8762,我会看到没有注册微服务。

知道为什么吗?

0 投票
1 回答
1571 浏览

netflix - Hystrix 如何与 Eureka 通信?

我见过很多项目的例子,其中同时使用了 Hystrix 和 Eureka。如果有人能向我解释他们是如何沟通的,那就太好了。也许这是一个错误的构建问题,但我想知道为什么项目中同时存在 hystrix 和 eureka。

0 投票
0 回答
950 浏览

spring-cloud - Spring cloud netflix - Eureka - JMXMonitor 警告

我正在使用 spring cloud netflix 构建微服务应用程序,我正在使用 Eureka Servers(点对点通信)并且我的微服务注册到 eureka 服务器。一切都按预期工作。

但在日志中,我每 10-15 分钟看到一次警告。

我做了一些研究,我的理解是它正在监视由 JMX 支持的注册表。有没有人见过这个问题,或者任何人都可以就什么是最好的解决方案给出一些好的建议。我们可以禁用此监控吗?

0 投票
1 回答
16242 浏览

netflix - Zuul 路由到 HTTPS url 时出错

我有一个在 Eureka 中注册并在 Eureka 仪表板中可见的 Spring Boot 应用程序(最近为 HTTPS + 自签名证书启用了它)。

我们有一个 Zuul Filter 层,它获取用户请求,然后将其传递给 Spring Boot 应用程序。在可以通过 HTTP 访问应用程序之前,这一切正常。但是,一旦我启用了 HTTPS,zuul 路由就会失败。

这是我的 yaml 文件中的 Zuul 路由配置。我的 Zuul Route 配置是否应该对启用 HTTPS 的 URL/App 进行任何特殊配置?

这是异常堆栈跟踪(显示 Zuul 正在尝试路由到 HTTP URL,而不是 HTTPS url)

更新:添加 isRibbon 安全属性后,此错误消失了,现在我有一个新错误

0 投票
1 回答
1231 浏览

spring-security - Zuul 重定向到在 Eureka 中注册的微服务后,经过身份验证的主体丢失

为了使用 Netflix 堆栈,我进行了此设置:

  • 尤里卡服务器
  • 一个模块,通过 Zuul 代理暴露给外界(注册到 Eureka)
  • 多个后端微服务(注册到Eureka)

我的问题是,当我第二次/第三次调用代理中的 URL(要重定向到微服务)时,经过身份验证的主体丢失了

这些是日志条目:

我已经实现了一个 Zuul 代理,我将主体传递给要重定向的请求标头,但是当第二次发送请求时,不会调用此过滤器(Spring Security 捕获请求,因为它是匿名请求)。

关于这里发生了什么的任何想法?

谢谢

编辑:使用 Fiddler 进行调查,我发现在两次成功请求后,被拒绝的请求会用 HTTP 302 代码回答:

Fiddler 请求日志

编辑#2:这是我的 Spring 启动安全配置

0 投票
3 回答
39491 浏览

spring-cloud - Eureka never unregisters a service

I'm currently facing an issue where Eureka does not unregister a registered service. I've pulled the Eureka server example straight from git hub and made only one change, eureka.enableSelfPreservation = false. My application.yml looks like this:

I've read that if 85% of the registered services stop delivering heartbeats within 15 minutes, Eureka assumes the issue is network related and does not de-register the services that are not responding. In my case I have only one service running, so I disabled self-preservation mode. I am abruptly killing the process and Eureka leaves the service registered for what seems like an indefinite amount of time.

My client's application.yml looks like this:

My goal is to create a demo where Eureka quickly detects the service is no longer running and another service that is started can quickly register itself.

As of now, once the eureka client is started, it registers in 3 seconds. It just never un-registers when the service is abruptly terminated. After I kill the service, the Eureka dashboard reads:

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

How can I prevent this behavior?

0 投票
2 回答
12954 浏览

spring - 在 Spring 中进行集成测试时如何模拟 Eureka?

我正在 Spring Boot 中运行一个简单的 Junit 测试控制器。测试代码如下所示:

在 application-integrationTest.properties 我有以下 Eureka 设置:

当一个junit测试开始时,我看到以下内容:

2015-09-16 16:46:03,905 ERROR localhost-startStop-1 com.netflix.discovery.DiscoveryClient Can't get a response from http://localhost:8767/eureka/apps/ Can't contact any eureka nodes - possibly a security group issue? com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:184) ~[jersey-apache-client4-1.11.jar:1.11]

测试通过,这不是问题,但我看到很多与 Eureka 相关的异常堆栈跟踪。问题是是否有一种方法可以模拟 eureka 或另一种方法在进行测试时跳过它?

如果测试失败并且 tst 会运行得更快,那么好处会更容易看到相关的堆栈跟踪