问题标签 [spring-cloud-loadbalancer]
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-boot - 在 Spring Cloud Gateway 中将配置从 Ribbon 更改为 Spring Cloud Load Balancer
我有以下带有功能区的 Spring Cloud Gateway 配置
现在我想删除 Ribbon 并用 spring cloud load balancer 替换。
我添加了
现在我需要在我的 application.yaml 文件中添加什么其他配置才能切换到 Spring Cloud 负载均衡器?我想在 .yaml 文件上添加配置。我不想用 .yaml 文件中配置的功能区破坏旧结构。
java - 为什么仅在调用方法“getInstance”时才实例化bean“reactorServiceInstanceLoadBalancer”?
我试图通过实现接口 ReactorServiceInstanceLoadBalancer 来定义自定义 LoadBalancer,以替换 RoundRobinLoadBalancer 定义的默认负载均衡器。
但它不起作用。
我发现类'LoadBalancerClientConfiguration'中定义的原始bean在应用程序启动时没有被实例化,而是在调用'LoadBalancerClientFactory.getInstance'时被实例化,并且构造函数是使用StandardEnvironment的bean自动装配的,而在我的配置中定义的bean在应用程序启动时实例化,并使用 StandardReactiveWebEnvironment 的 bean 自动装配。
很困惑!我的英语不太好。感谢您阅读整个描述!下面是我的代码:
spring-cloud - Spring Cloud LoadBalancerClient - Hoxton SR8 - 抛出错误
以前是使用 Spring cloud Finchley.M9 发布的。我们使用如下所示的 LoadBalancerClient。
现在我们已经将spring cloud版本升级到了Hoxton.SR8。启动 spring boot 应用程序时出现以下错误。
'RibbonAutoConfiguration' 中的 Bean 方法 'loadBalancerClient' 未加载,因为 AllNestedConditions 2 匹配 2 没有;RibbonAutoConfiguration.RibbonClassesConditions.RibbonPresent @ConditionalOnClass 上的 NestedCondition 未找到所需的类“com.netflix.ribbon.Ribbon”;RibbonAutoConfiguration.RibbonClassesConditions.AsyncRestTemplatePresent @ConditionalOnClass 上的 NestedCondition 找到所需的类 'org.springframework.web.client.AsyncRestTemplate';RibbonAutoConfiguration.RibbonClassesConditions.RestTemplatePresent @ConditionalOnClass 上的 NestedCondition 找到所需的类 'org.springframework.web.client.RestTemplate';RibbonAutoConfiguration.RibbonClassesConditions.IClientPresent @ConditionalOnClass 上的 NestedCondition 未找到所需的类“com.netflix.client.IClient”
java - 使用 Spring Cloud Load Balancer 时出现错误“FeignException$ServiceUnavailable: Load balancer does not contain an instance for the service ...”
从 迁移Ribbon
,我正在尝试使用spring cloud load balancer
但遇到以下错误。
请告诉我应该在我的客户服务 -货币转换服务的 application.properties
文件中添加什么
application.properties
:
完整的客户服务项目currency-conversion-service,即调用currency-exchange-service,可从https://github.com/AshishBharadwaj94/currency-conversion-service访问
spring-boot - Spring Cloud LoadBalancer 是否像 Netflix Ribbon 一样有超时?
我正在尝试切换到 LoadBalancer。使用 Ribbon 时,我可以设置这些属性来覆盖默认的 1000 毫秒超时:
功能区.ReadTimeout=5000 功能区.ConnectTimeout=5000
我在 LoadBalancer 文档中看不到任何类似的东西。
它有超时吗?如果是这样,它们是固定的且不可配置的吗?
java - Spring Cloud Loadbalancer 应用程序中的高 CPU 利用率
在我的应用程序重新部署操作后,cpu 上升到 100%。所以我必须重新启动Tomcat来释放cpu。
消耗所有cpu的线程是:
该问题仅发生在重新部署操作中。我用新版本替换 - 从外壳 - 战争。
- 操作系统:RedHat 7.6 x86_64 (3.10.0-957.5.1.el7.x86_64)
- 处理器:1 x Intel(R) Xeon(R) CPU E5-2687W v4 @ 3.00GHz
- OpenJDK 运行时环境(内部版本 1.8.0_191-b12)
- OpenJDK 64 位服务器 VM(内部版本 25.191-b12,混合模式)
- 服务器版本:Apache Tomcat/9.0.7.redhat-12
- 服务器建成时间:2018 年 9 月 7 日 13:37:03 UTC
- 服务器号:9.0.7.0
- 操作系统名称:Linux
- 操作系统版本:3.10.0-957.5.1.el7.x86_64
- 架构:amd64
- JVM版本:1.8.0_191-b12
- JVM 供应商:甲骨文公司
使用 webflux (webclient) 的负载均衡器配置。
依赖:树
谢谢!
spring-boot - 没有可用于服务的服务器:在 Netflix 功能区中路由时
我在 Spring Boot 2.3.4 中有以下工作代码
配置:
当我将 spring boot 版本升级到 2.4.2 时,代码必须更改为以下。
由于 netflix-ribbon 已在 spring boot 2.4.2 中删除,我不得不添加这些依赖项。在路由中它给出以下警告。这意味着负载均衡器未初始化。
如何解决这个问题?我可以尝试将其迁移到弹簧负载均衡器中吗?
升级后的依赖树:
spring - 更改 spring cloud loadbalancer 默认 RoundRobin 算法
我正在尝试从 Ribbon 迁移到 Spring Cloud LoadBalancer,因为 Ribbon 现在处于维护模式,并且我无法使用默认的 spring-boot 2.4.2 版本在 spring 初始化中添加功能区依赖项。我目前正在使用 OpenFeign,并且正在做一些测试,试图将默认的 RoundRobin 负载均衡器配置更改为随机规则。这就是我所拥有的
使用功能区时,我只需要更改默认配置
并在客户端添加注释 @RibbonClient(也可以在 MainApplication 类中添加它)
但我无法使用 spring-cloud-loadbalancer 使其工作。我知道默认情况下包含在 spring-cloud-starter-openfeign 依赖项中,所以我的 pom 是这样的
pom.xml
让我的 FeignClients 像这样(没有任何 Ribbon 注释)
我的 RestController 像这样
没有做任何其他事情,它似乎可以工作负载平衡(两个 hello-service 实例仍在运行并且正在调用备用),但我想将默认负载平衡器算法(RoundRobin)更改为另一个(如随机或任何自定义)到测试差异。我想我必须更改 FeignConfiguration 类中的某些内容,但我已经搜索但没有成功。
希望您能帮助我,这样我就可以摆脱 Ribbon 并毫无问题地开始使用 Spring Cloud LoadBalancer!:C
spring-cloud - Spring Cloud Load Balancer 中基于上下文的部署 Vip 地址
我们正在寻求迁移到 Spring Cloud Load Balancer 来替换 Ribbon。我们使用 Eureka 进行服务发现和注册。
看起来从 Spring Cloud Netflix 3.x 开始,Eureka 客户端模块中的 EurekaRibbonClientConfiguration 已被删除。
我们使用 deploymentContextBasedVipAddress 配置将我们的内部主机名映射到 Eureka 中注册的 vip 地址。
配置与此类似:
我们这样做是因为在 Eureka 注册的 vip 地址中包含一个_
,从技术上讲,它是主机名的无效字符;Java URI 类将无法解析其中包含 a 的主机_
。在这一点上,我们无法改变这一点。
所以我的问题是;这种类似的配置可以用 Spring Cloud Load Balancer 和 Spring Cloud Netflix 3.x 中的新 Eureka 客户端模块完成,我们可以在其中为 vip 地址提供别名?
spring-cloud-loadbalancer - 如何联系 spring-cloud-loadbalancer 团队?
有人如何报告 spring-cloud-loadbalancer 项目的问题/引起注意?Jira/论坛/邮件列表/什么?如果他们在 spring-cloud 下如何联系他们?好像没有任何公开的联系方式……