【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 验证

调用消费者方的接口:

负载均衡成功。

相关推荐
vx-程序开发2 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
C137的本贾尼3 小时前
Spring AI Alibaba 开箱:国产百炼大模型初体验
java·人工智能·spring
魏杨杨4 小时前
被流量逼出来的架构:从一台服务器到云原生的 17 次蜕变 —— 集群、缓存、MQ、微服务、Docker、K8S 的前世今生
微服务·k8s·负载均衡·ddd·分部署
William Dawson4 小时前
【通俗易懂!Spring四大核心注解源码解读:@Configuration、@ComponentScan、@Import、@EnableXXX实战】
java·后端·spring
菜菜小狗的学习笔记5 小时前
八股(九)杂七杂八
java·后端·spring
我本楚狂人www6 小时前
Spring 两大核心思想(一):IoC
java·数据库·spring
用户398346161207 小时前
Go-Spring 实战第 10 课 —— 依赖注入的方式:字段注入和构造函数注入
spring·go
超梦dasgg8 小时前
详细讲解:WebMvcConfigurer 接口
java·开发语言·spring
JAVA社区8 小时前
Java进阶全套教程(三)—— Spring框架核心精讲
java·开发语言·spring·面试·职场和发展·mybatis
用户398346161209 小时前
Go-Spring 实战第 9 课 —— IoC 容器:复杂 Go 应用如何统一对象装配
spring·go