【SpringCloud】LoadBalance负载均衡服务调用快速入门

【SpringCloud】LoadBalance负载均衡服务调用快速入门

文章目录

1. 概述

官网地址:点击跳转

Spring Cloud LoadBalancer 是由 SpringCloud 官方提供的一个开源的、简单易用的客户端负载均衡器 ,它包含在 SpringCloud-commons 中用它来替换了以前的Ribbon组件。相比较于Ribbon,Spring Cloud LoadBalancer 不仅能够支持 RestTemplate,还支持 WebClient( WeClient 是 Spring Web Flux 中提供的功能,可以实现响应式异步请求)


2. 引入依赖

在服务消费方引入依赖:

xml 复制代码
<!--loadbalancer-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

3. 配置、验证

3.1 配置

order服务调用pay服务,order服务是服务消费方,pay服务是服务提供方。所以对order服务进行如下配置。

提示:代码不重要,主要就是为了展示效果。

java 复制代码
@Configuration
public class RestTemplateConfig {
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

在order服务编写如下接口:

java 复制代码
public static final String PaymentSrv_URL = "http://cloud-payment-service";

@GetMapping(value = "/consumer/pay/get/info")
private String getInfoByConsul()
{
    return restTemplate.getForObject(PaymentSrv_URL + "/pay/get/info", String.class);
}

为了验证负载均衡,我们启动两个pay服务,操作如下:

1)右键pay服务,选择复制配置:

2)配置8002端口,这样就能够使用一套代码,不同端口启动:


3.2 验证

调用消费者方的接口:

负载均衡成功。

相关推荐
wxwx_bscxy32211 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
墨着染霜华14 小时前
SpringCloud Gateway线上Nginx代理后自定义下划线请求头丢失(app_name/app_version获取不到)完美解决
nginx·spring cloud·gateway
cfm_291414 小时前
Spring事务
数据库·spring·oracle
跨境数据猎手17 小时前
京东开放平台商品详情接口(jd.item_get):签名、缓存与批量采集
java·spring·缓存
霸道流氓气质18 小时前
Spring AI提示词模板与动态变量替换
java·python·spring
Whyn19 小时前
Servlet 学习笔记
spring
ofoxcoding19 小时前
Claude Fable 5.1 API 接入指南:模型标识、五级定价策略、effort 参数与缓存 TTL 配置详解
java·spring·缓存·ai
摇滚侠20 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 Spring Framework 的事务管理 阅读笔记 34
spring boot·笔记·spring
Rain的Java大神之路21 小时前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
霸道流氓气质1 天前
Spring AI异常处理与重试机制
java·人工智能·spring