问题标签 [netflix-ribbon]

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

java - 尤里卡功能区集成 - 无法列出服务器

当我尝试执行以下使用功能区并尝试从 eureka 获取服务器列表的代码时,出现以下异常。

例外

代码

功能区-client.properties

该服务是一个 Spring-Boot(不使用 Spring-Cloud)应用程序,使用eureka-client.properties

eureka-client.properties

该服务已成功注册到部署在本地 tomcat@port 9080 中的 eureka,并且可以发现@http://localhost:9080/eureka/ and http://localhost:9080/eureka/v2/apps/

W/O 使用 Spring-Cloud 需要在上面的代码/配置中修复什么才能使用功能区从 eureka 动态获取服务器列表?

0 投票
0 回答
483 浏览

router - 将 Eureka/ribbon 代码部署到 Cloud Foundry

我想将 Spring Cloud (Eureka/ribbon) 代码部署到 Cloud Foundry。Ribbon 会做客户端负载均衡,所以我不需要 Cloud Foundry 路由器。如何告诉 Cloud Foundry 不要使用它的路由器?

0 投票
2 回答
2709 浏览

spring - 关键 Web 服务上的 Spring Cloud (Eureka/Ribbon) 连接被拒绝

我有一个在 Spring Tools Suite 本地完美运行的 Spring Cloud 应用程序(Eureka、Ribbon、Zuul)。当我部署到 Pivotal Web 服务时,这些服务会在 Eureka 中注册(即,它们显示在 Eureka 控制台中),但是当我尝试让一个服务调用另一个服务时,我得到 Connection denied。当我尝试通过 Zuul 时,我收到转发错误,然后是连接被拒绝。

我尝试了以下各种组合,但似乎没有任何帮助。

对于服务调用,我使用 Autowired RestTemplate。在我的代码的另一部分中,我使用了非 Autowired RestTemplate。当我将它与 discoveryClient.getInstances(...) 一起使用时,我确实取回了我的服务的 IP 地址和端口。如果我尝试直接调用这些 IP 地址/端口,我也会收到 Connection Refused。

有任何想法吗?

0 投票
1 回答
1256 浏览

spring-boot - Eureka Ribbon LoadBalancer 缓存更新延迟

我正在建立一个基于微服务的应用程序,其中聚合层/API 网关调用微服务。Eureka 用于服务发现,Ribbon 用于提供负载平衡 RestTemplate。

Postman 调用 Aggregation--> Aggregation 使用 Eureka/Ribbon/RestTemplate 调用微服务。

我在我的机器上的 4 个不同端口上运行了 4 个一种微服务类型的实例。Postman 反复访问同一个 REST 端点会导致请求以循环方式正确地进行负载平衡。

当我停止其中一个微服务实例时,该服务已从 Eureka 注销,但 LoadBalancer 仍向死服务发送请求并且调用失败。

下面是我的代码:

聚合:

//FooConfig 被排除在组件扫描之外

休息模板调用:

特性:

微服务代码:

特性:

尤里卡服务器:

特性:

0 投票
1 回答
4887 浏览

spring - spring cloud中如何通过feign调整负载均衡规则

据我所知,feign 包含了功能区的功能,我在我的代码中证明了这一点。

当我使用 feign 时,默认规则是 Round Robin Rule。但是如何更改我的假客户端代码中的规则,功能区是唯一的方法吗?

下面是我的代码,请帮忙。

ConsumerApplication.java

用户FeignClient .java

FeignController.java

0 投票
2 回答
1497 浏览

spring-boot - Spring Boot Cloud + Ribbon + Feign + Hystrix + Zookeeper:重试和失败是怎么回事?

我正在尝试使用Ribbon + Feign + Hystrix使用spring-boot(1.5.1)创建一些服务(并且我的服务发现是 spring -boot- zookeeper)并且我不使用 Zuul。

我(天真)认为它应该以下列方式工作:

调用 Feign 方法(@FeignClientmyservice.ribbon.MaxAutoRetriesNextServer=2名称,最后如果所有重试都失败 - 它调用 Hystrix 后备方法。

所以我的 Feign 界面

定义 Hystrix FallbackFactory 以返回一些默认响应

在我的代码的某处,我有以下几行:

当所有服务都启动时(我有 2 个 MyService),Ribbon 可以很好地使用 Round Robbin,但是当我关闭一个 MyService 实例时,Ribbon 继续使用 Round Robbin,所以每第二次尝试,我都会收到 Hystrix Fallback 的结果,而不是预期成功(功能区应该在其他服务上重试,不是吗?),直到功能区服务器列表更新。

任何人都可以解释它是如何一起工作的吗?

0 投票
0 回答
326 浏览

spring-cloud - 使用 Spring Cloud Netflix 自动复制微服务

我有多个 Spring Cloud 微服务。我希望在微服务无法完成工作时自动复制微服务。我试图找到任何解决方案,但我只找到了这个:here。这个解决方案不能应用于我的问题,因为它只描述了我们有一定数量的微服务的情况。

如果你能给我一些例子来帮助我解决这个问题,我将不胜感激。

更新:我有几个微服务

尤里卡:

网关应用:

第一个SybsystemApplication:

我想对 FirstSubsystemApplication 进行高负载并自动启动它的副本。

0 投票
1 回答
1632 浏览

spring - 带有 Spring 添加多个客户端的 Netflix 功能区

我的应用程序与多个 REST API 连接。

我已经成功地将功能区客户端/负载平衡添加到我的应用程序中,用于其中一个具有自己的服务器列表的 API

现在我想添加第二个客户端来保存我的第二个 API 的服务器列表。

为了定义 Archaius 用来加载特定属性的客户端名称,我添加了以下属性。

我的问题是:如何在同一个应用程序上定义另一个客户端?

我认为这将是一个逗号分隔的列表,例如:

然而,这并没有奏效。

最终,我想得到两个服务器列表,例如

有什么想法吗?

0 投票
1 回答
1380 浏览

spring - 如何使用 IClientConfig 创建 Bean

如何创建一个@Beanfor IClientConfig?我需要ribbonLoadBalancingHttpClient使用预先配置的 httpclient 委托参数初始化 bean。问题是 bean 所需的构造函数IClientConfig没有加载到上下文中。

这不适用于初始化IClientConfig

更新我发现每一个IClientConfig都与clientName 如果我硬编码一个客户端名称(例如“名称”)功能区将始终返回客户端名称->“名称”的信息。

但我有不止一个客户名称:

因此,我覆盖了@Beanfor,ribbonLoadBalancingHttpClientIClientConfig也必须将其放入每个 clientName 的上下文中。我怎样才能做到这一点?

如果您想知道我为什么要使用自定义HttpClient,那就是关闭功能区客户端的自签名认证验证。如果有另一种方法,那么这也是一个有效的答案。

0 投票
1 回答
1135 浏览

spring - spring cloud ribbon中如何使用okhttp

Spring Cloud Ribbon 的上手非常简单,它使用 REST 模板与后端服务器通信。

但是在我们的项目中,我们更喜欢使用okhttp来做http请求,有没有人可以帮忙?