问题标签 [netflix-feign]
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 - 春云 + 丝带 + feign + zuul + eureka
如何通过 Ribbon 对微服务进行负载均衡(不是 feign)。我有 3 个微服务“M1”、“M2”和“M2_duplication”,“M1”通过 feign 与“M2”通信。我想如果“M2”获得太多流量,请求将被转发到“M2_duplication”。这怎么可能通过@ribbonclient 实现?
聚甲醛 M1:
M1中的feign调用:
应用 M1:
spring - 使用 Feign 和 Hystrix 的边缘超时异常
我正在使用 Netflix 微服务 API 构建一个培训应用程序。
这是我的优势,从 localhost:9999 开始:
我定义了以下 2 个应用程序:
app-a
公开一个简单的 Web 服务service-a
并在 localhost:8081 上启动
公开一个调用app-b
的 Web 服务,并在 localhost:8082 上启动service-b
service-a
service-b
service-a
使用 Netflix Feign调用:
在运行时app-a
,app-b
每个服务都按预期回答:
- http://localhost:8081/service-a
- http://localhost:8082/service-b
- http://localhost:9999/app-a/service-a(通过边缘)
- http://localhost:9999/app-b/service-b(通过边缘)
如果关闭,AppAFallback
则应调用后备。app-b
但是,我必须等待大约 1 分钟才能发生。
就在app-b
下降之后:
- http://localhost:8081/service-a运行良好,调用 fallback
- http://localhost:8082/service-b无法访问
- http://localhost:9999/app-a/service-a TIMEOUT :
HystrixRuntimeException: app-a timed-out and no fallback available.
- http://localhost:9999/app-b/service-b超时:
HystrixRuntimeException: app-b timed-out and no fallback available.
1分钟后app-b
下降:
- http://localhost:8081/service-a运行良好,调用 fallback
- http://localhost:8082/service-b无法访问
- http://localhost:9999/app-a/service-a运行良好,调用 fallback
- http://localhost:9999/app-b/service-b GENERAL :负载均衡器没有可用于客户端的服务器:
app-b
这就是我预期的结果。任何关于为什么调用app-a/service-a
之后的任何想法app-b
都让我超时?
在此先感谢您的帮助。
spring - 如何在 Java Spring 应用程序中缓存使用 Netflix 的 Feign 库发出的 HTTP 请求
在使用 Netflix 的 Feign 向服务发出 HTTP 请求的 Spring Boot 应用程序中,是否有一种简单的方法可以自动缓存并返回这些缓存值?缓存应该基于传递给请求的参数(类似于记忆一个函数 X 分钟)。
我正在寻找类似以下@Cache
注释的内容:
当然,我可以使用 . 周围的装饰器自己缓存它FacebookClient
,我想知道是否有更快/更少的代码方式。
java - Netflix Feign:404 上 ErrorDecoder 中的响应正文为空
我已经实现了一个自定义的 ErrorDecoder:
我想用这个WebShopErrorDecoder
ist来实现转发错误响应。我的问题是,如果响应状态为 404,则 ErrorResourceerror
为空。
如果我将返回的响应状态更改为 400,例如错误资源包含响应。
当直接通过浏览器请求使用的服务时,我可以看到响应状态为 404 的响应正文。
为什么feign请求的响应体在服务返回404时为空?有没有办法获得响应体?
我刚开始使用 feign,所以如果我的问题不清楚,请告诉我,我会尝试澄清缺少的内容。
提前致谢!
java - Spring Cloud:如何在不注册到 Eureka 的情况下使用 Feign
我有一个 eureka 服务器和一些服务,它们注册到 eureka 并使用 Feign 相互通信。
每个此类服务都部署到嵌入式 tomcat 容器中。另外我有一些服务是按计划作为恶魔执行的,它们不应该进入 tomcat 容器,但它们也必须使用 Feign 从某些服务中获取数据。
例如,我有一个每天执行一次的监控,并检查通过 REST 从另一个服务获取的一些数据。该监控不必在 eureka 中注册,因为它没有用于输入的 api。
如果我不放@EnableFeignClients
,@EnableEurekaClient
它将不起作用,但是如果我放了这两个注释,服务将被部署到 tomcat 中。
如果没有 tomcat 容器,我怎么能做到这一点?
hystrix - 如何配置 HystrixFeign 客户端?
我有一个 Spring Boot 应用程序,但我无法利用 @EnableFeignClient,因为不支持 multipart。(请参阅我可以使用 Multipart 参数生成 Spring Feign 客户端吗?)。
我正在使用构建器创建自己的 HystrixFeign 客户端:
如何配置 Hystrix 的其他属性?我要设置执行隔离策略,断路器睡眠窗口,音量阈值,错误阈值百分比?
将它们包含在我的 application.properties 文件中就足够了吗?如何验证这些属性是否应用于“uploadMedia”端点?
spring-mvc - 如何使用 Feign 客户端设置请求标头?
我们正在使用 Spring Cloud 框架开发一套微服务,我们需要做的事情之一就是设置请求标头。我知道我可以将参数传递@RequestHeader
给 Feign 方法,但该值需要来自另一个 bean。我不知道 SPEL 是否可以用于 Feign 参数值。我在想这对于大多数客户来说是一个足够常见的用例,所以会有一些例子,但到目前为止我还没有找到任何例子。当然,我可以深入研究 Spring 课程代码并尝试覆盖默认的 Feign 配置,但如果我必须编写大量代码来实现这一点,它有点违背了声明式客户端的目的。有什么想法吗?
java - Feign:根据响应状态重试
我目前正在使用 Spring Cloud 和 Feign 在我的应用程序中使用微服务。由于它可能发生,数据库连接等在单个服务实例中失败,使其返回 500 HTTP 状态代码,我想确保下一个服务器由服务的客户端重试。目前,当服务根本没有运行时,Ribbon 的重试机制就像一个魅力,但是当它收到 500 状态码时,它仍然会立即返回错误,而无需任何重试。
如果实例返回 500 响应,是否可以配置 Feign 客户端或其底层 Ribbon 负载均衡器以重试下一个服务器?
配置与此线程中的配置几乎相同:Feign retry 是否需要某种配置?
我很想使用像 Ribbons 的 HttpResponseValidator (https://github.com/Netflix/ribbon/blob/master/ribbon/src/main/java/com/netflix/ribbon/http/HttpResponseValidator.java)这样的实现,但是我找不到任何可用于 Spring Cloud 及其 Feign/Ribbon 集成的东西
mocking - 假装客户端的模拟实现不会是自动装配的
我想测试我的春季项目。我需要在测试类中模拟一个假装客户端,但正常的实现将是自动装配的,而不是模拟实现。这是我的代码的顶部。请帮忙。
}
这是我的测试课:
java - FeignClient超时如何解决
使用在 SQL Server 中执行查询的服务时,我的应用程序出现以下错误FeignClient
。
错误:
线程“pool-10-thread-14”中的异常 feign.RetryableException:读取超时执行 GET http://127.0.0.1:8876/processoData/search/buscaProcessoPorCliente?cliente=ELEKTRO+-+TRABALHISTA&estado=SP
我的消费者服务:
我的 YML:
有谁知道如何解决这个问题?
谢谢。