当前位置: 首页 > wzjs >正文

2024年全员核酸合肥seo推广公司

2024年全员核酸,合肥seo推广公司,苏州市工程造价信息网,网站建设公司怎么办目录 介绍核心功能负载均衡启动两个支付服务订单模块引入依赖LoadBalanced 注解启动订单服务测试结果 负载均衡算法切换总结 介绍 Spring Cloud LoadBalancer 是 Spring Cloud 提供的客户端负载均衡解决方案,提供更现代化的 API 和更好的 Spring 生态系统集成。它支…

目录

    • 介绍
    • 核心功能
    • 负载均衡
      • 启动两个支付服务
      • 订单模块引入依赖
      • @LoadBalanced 注解
      • 启动订单服务
      • 测试结果
    • 负载均衡算法切换
    • 总结

介绍


Spring Cloud LoadBalancer 是 Spring Cloud 提供的客户端负载均衡解决方案,提供更现代化的 API 和更好的 Spring 生态系统集成。它支持微服务架构中服务调用的负载均衡,适用于分布式系统中的流量分发和故障转移。

核心功能


客户端负载均衡

  • 在客户端实现负载均衡逻辑,无需服务端代理。
  • 支持基于服务名的调用 (如 http://service-name),自动解析服务实例列表。

多种负载均衡策略

  • 默认支持 轮询 (Round Robin) 和随机 (Random) 策略。
  • 可自定义实现其他策略 (如加权轮询、最小连接数等)。

服务发现集成

  • 与 Spring Cloud 服务发现组件 (如 Eureka、Consul、Nacos) 无缝集成。
  • 动态获取服务实例列表,支持实例上下线自动更新。

响应式支持

  • 支持阻塞式 (BlockingLoadBalancerClient) 和非阻塞式 (ReactiveLoadBalancer) 请求处理。
  • 可与 RestTemplate 和 WebClient 配合使用。

高可用与容错

  • 内置重试机制 (如 spring.cloud.loadbalancer.retry.enabled=true)。
  • 支持健康检查,自动剔除故障实例。

配置灵活性

  • 通过 application.yml 或 application.properties 配置行为。
  • 支持自定义负载均衡算法和规则。

负载均衡


启动两个支付服务

分别启动两个支付服务,端口8001和8002。
在这里插入图片描述

订单模块引入依赖

<!-- SpringCloud loadbalancer -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

@LoadBalanced 注解

给 RestTemplate 标注 @LoadBalanced 注解,在客户端实现负载均衡功能。

@Configuration
public class RestTemplateConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}
}

启动订单服务

启动订单服务,端口9001。

@GetMapping("/order/pay/getInfoByConsul")
public String getInfoByConsul() {return restTemplate.getForObject(payment_url + "/pay/getInfoByConsul", String.class);
}

在这里插入图片描述

测试结果

当调用9001订单接口 http://localhost:9001/order/pay/getInfoByConsul ,会轮询调用8001和8002获取 consul 配置信息。

负载均衡算法切换


负载均衡算法默认有两种:

  • 轮询: RoundRobinLoadBalancer
  • 随机: RandomLoadBalancer

算法切换

从默认的轮询,切换为随机算法。

@Configuration
// value中的服务名大小写必须和consul服务名一样
@LoadBalancerClient(value = "cloud-payment-service", configuration = RestTemplateConfig.class)
public class RestTemplateConfig {@Bean@LoadBalanced  // 赋予RestTemplate负载均衡的能力public RestTemplate restTemplate(){return new RestTemplate();}@BeanReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}
}

总结


以上主要介绍了 Spring Cloud LoadBalancer 负载均衡、算法切换的相关知识,想了解更多 Spring Cloud LoadBalancer 知识的小伙伴请参考 Spring Cloud LoadBalancer 官网 进行学习,学习更多 Spring Cloud 实战实用技巧的小伙伴,请关注后期发布的文章,认真看完一定能让你有所收获。

http://www.dtcms.com/wzjs/130981.html

相关文章:

  • 云南网站建设多少钱百度免费下载
  • 网站建设实训日志免费有效的推广网站
  • 织梦网站文章内容模板seo引擎优化外包公司
  • 应用数据库网站开发b站视频推广网站2023
  • 吴江区建设局网站打不开旅游搜索量环比增188%
  • wordpress+免费模版安徽网站推广优化
  • 全企网建站怎么样怎么制作个人网页
  • 网站登录模版广州网络推广
  • 网站开发项目教程免费优化推广网站的软件
  • web网站开发简历网络热词2023
  • WordPress采集中文永久免费版下载苏州seo关键词优化方法
  • 沈阳app制作网站建设推企业文化标语
  • 建网站需要什么操作系统百度推广代运营
  • 怀远做网站电话中山百度seo排名公司
  • 编程序可以做网站吗常见的网络推广方法
  • 个人域名可以做公司网站么上海搜索排名优化公司
  • 旅游网站开发的流程比较开放的浏览器
  • 鹤壁做网站淘宝关键词优化软件
  • 网站建设与维护浙江省试题互联网运营自学课程
  • 手机网站的好外seo整站优化多少钱
  • 制作商城版网站开发企业网络营销案例
  • 浙江省建设厅干部学校网站社群推广平台
  • 推荐大良营销网站建设优化公司哪家好
  • 海阳做网站天津seo排名
  • 站长之家端口扫描潍坊网站开发公司
  • wordpress导入xls厦门seo排名优化
  • 音响网站模板百度一下你就知道手机版官网
  • 铜仁北京网站建设百度竞价排名是哪种方式
  • 长春专业企业网站建设价格电商运营培训班多少钱
  • 免费网站申请注册步骤在线制作网页网站