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

0 投票
1 回答
7369 浏览

java - 使用 Netflix Feign 传递数据流

在工作中,我们使用 Netflix 的Feign Client来帮助处理服务之间的请求。然而,我对它明显缺乏流数据的能力感到困惑,特别是考虑到 Netflix 众所周知的流视频商业模式。我显然在这里遗漏了一些东西。

解释一下,sayService A向 Feign Client 请求Service B一个数据Service B流并在响应中发送该流。此时,execute()Feign Client 中的方法被调用:

标记的行PROBLEM让我感到困惑。

  1. request对象甚至没有任何类型的流可以读取,只是一个byte[] body.
  2. 在传出端,整个正文立即写入OutputStream。它不应该将数据分块吗?

例如

如果请求有一个流而不是一个流byte[] body,您可以进一步改进它以在数据可用时发送数据。

我对这个服务架构领域很陌生。我错过了什么?

0 投票
0 回答
2681 浏览

spring-cloud - 带有 Feign/Ribbon/Eureka 的 spring-cloud - 无法发现服务实例

我的 feign 客户端目前无法使用 Eureka 发现服务实例。我的配置包括以下注释:

我包括以下依赖项(spring-cloud 1.0.0-BUILD-SNAPSHOT):

据我所知,feign 客户端使用 a ,因此需要在配置文件(属性)ConfigurationBasedServerList中明确指定可用服务实例的地址。ribbon.serverList

但是,如果我明确指定,一切正常:

我的测试应用程序还使用了基于 Spring RestTemplate 的客户端,该客户端自动配置为使用启用了 Eureka 的 Ribbon 实现。奇怪的是,如果首先调用 RestTemplate,Feign 客户端工作正常(即找到服务实例)。看起来 RestTemplate 设置在某处执行了一些(静态)初始化,然后对 feign 客户端有利。

我是否错过了应该如何配置 Feign 支持的内容?

0 投票
2 回答
19797 浏览

java - Spring Cloud:如何在没有 Ribbon 的情况下使用 Feign

我想在没有客户端负载均衡器 Ribbon 的情况下使用 Feign,因为我不想运行 Eureka,它需要分布式和高可用性。相反,具有由 Route53 管理的内部 DNS 名称的内部 ELB 就可以了。

提供纯 URL 以@FeignClient始终no loadbalancer found for ..生成 ,因此我尝试阻止 Feign 使用 Ribbon:

Spring Cloud Netflix 自带FeignRibbonClient,如果ILoadBalancerfromribbon-loadbalancer存在则使用。但是,如果排除了这种依赖关系,则会FeignConfiguration被破坏:

欢迎提出想法:-)

0 投票
3 回答
2506 浏览

spring-cloud - 春季云中的 hystrix 回退问题

当我尝试在 Spring Cloud 中使用 HystrixCommand 回退时,方法代理不起作用。方法中抛出的异常没有被 hystrix 命令方面捕获。

我在 Spring Cloud Hystrix 集成中遇到了这个问题。我正在使用 spring cloud 1.0.0.RC2 版本。这是一个复制问题的示例项目。

这是我使用图书馆的方式的问题吗?

https://github.com/thekalinga/hystrix-fallback.git

0 投票
1 回答
3672 浏览

java - 与功能区/尤里卡一起使用时假装客户端错误

以下是上述课程的测试:

当我使用 TestNG 运行测试时,会引发以下错误:

com.netflix.client.ClientException:负载均衡器没有可用于客户端的服务器:abc-service

Eureka 服务器被配置为查找配置服务器。 application.yml尤里卡服务器如下:

在运行上述测试之前,配置服务器、eureka 服务器和 abc-service 作为 spring boot 应用程序运行。abc-service 在启动时向 Eureka 注册。

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 回答
8214 浏览

spring-cloud - 是否可以在 BootstrapConfiguration 上使用 @EnableFeignClients?

我想使用一个PropertySourceLocator必须在引导期间注册的假客户端。我有以下内容spring.factories

feign 客户端自动装配到MyPropertySourceLocator. 但是,虽然同一个客户端在常规 bean 中工作,但它在这里不起作用。所有请求都失败,但出现以下异常:

这发生在@FeignClient(url = "localhost:8080"). 使用功能区@FeignClient("config")完全失败:

我想使用 REST 访问配置(因此假装)。可能的解决方法当然是直接使用 feign。

0 投票
3 回答
11751 浏览

spring-cloud - Does Feign retry require some sort of configuration?

I just tried to do a attempted a seamless upgrade of a service in a test setup. The service is being accessed by a Feign client. And naively I was under the impression that with multiple instances available of the service, the client would retry another instance if it failed to connect to one.

That, however, did not happen. But I cannot find any mention of how Feign in Spring Cloud is supposed to be configured to do this? Although I have seen mentions of it supporting it (as opposed to using RestTemplate where you would use something like Spring Retry?)

0 投票
3 回答
73102 浏览

spring-cloud - 我可以使用属性/yml 文件配置 @FeignClient 网址吗?

我的目标是创建一个不同步骤的策略,从两个组件之间的点对点通信到使用 eureka、ribbon、hystrix 的“成熟的 netflix”通信风格。每次迭代时,我都想添加更多内容,同时尝试限制对实际代码的更改量。Feign 是我首选的客户端框架来实现这一点。第一步是创建一个 FeignClient 与服务器通信:

这可行,但我不希望在注释中硬编码 URL。我想要这个:@FeignClient() 并有一个属性构造,如:client.url: http://localhost:9000

到目前为止,我找不到有关如何配置它的任何线索,也找不到 spring-cloud 源中的解决方案。

可以吗?如果可以;如何?

0 投票
1 回答
10194 浏览

spring-cloud - Spring Cloud Feign 客户端可以与 Spring Web Controller 共享接口吗?

使用 Spring MVC 和 Feign Client(使用 Spring Cloud)构建端点和客户端。我的想法是,由于两端需要具有相同的注释 - 并且它们必须非常同步。也许我可以在接口中定义它们并让两端实现它。

测试它我有点惊讶它实际上适用于 Spring Web 端。

但是我找不到为 Feign 客户做同样事情的方法。

我基本上有界面:

然后是 RestController

最后是 Feign 客户端

Feign 客户端似乎没有读取继承的注释。那么还有其他方法可以完成同样的事情吗?我可以在哪里将 ServiceInterface 变成 Feign 客户端而不直接注释它?