【SpringCloud】LoadBalance负载均衡服务调用快速入门
文章目录
- 【SpringCloud】LoadBalance负载均衡服务调用快速入门
-
- [1. 概述](#1. 概述)
- [2. 引入依赖](#2. 引入依赖)
- [3. 配置、验证](#3. 配置、验证)
-
- [3.1 配置](#3.1 配置)
- [3.2 验证](#3.2 验证)
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 验证
调用消费者方的接口:
负载均衡成功。