目录
前言
上篇文章通过restTemplate简单实现了服务的调用,但是应用场景下,更多的会用到负载均衡来提升并发处理的的能力,本章就介绍下服务负载均衡实现
一、本地idea中启动多个生产者服务
1、开启生产者服务sca-provider在本地上允许重复启动项目选项
2、去application.yml,更改他的端口号,每更改一个端口号,去启动一次(启动项目前要先启动nacos注册中心)
3、去nacos注册中查看,已经起了两个生产者sca-provider的服务实例
二、负载均衡实现
1.LoadBalancerClient实现基础负载均衡
LoadBalancerClient对象可以从nacos中基于服务名获取服务实例,然后在工程中基于特点算法实现负载均衡方式的调用,其本质上是springclound内置的一个接口,所以不用手动去创建对象,该接口继承了Ribbon接口,只有一个实现类RibbonLoadBalancerClient,再底层就是实现了IRule接口,完成负载均衡的算法
1、接着上次的代码,在sca-consumer的ConsumerController.java内新添加如下代码用来测试
/**
* @Value,取值方式为${},是读取配文件里面的对应配置的值,并赋值给下面的变量“ :”后面的8090是当未读到配置里的值时给的默认值
*/
@Value("${spring.application.name:8090}")
private String appName;