目录
前言
在前面的Eureka当中,我们虽然实现了从注册中心中获取url,然后再与其他服务器进行交互!获取资源。
Eureka学习地址链接:http://t.csdnimg.cn/MPyJJ
一.负载均衡的引入
1.1问题引入
在SpringcloudEureka当中,我们学习到了如何获取,但是请问,如果有多台客户端同时请求这个数据呢?那我们又应该如何应对呢?
例子:我们可以进行多次访问TeacherService,全部访问同一个Teacher-service服务器,那么如何减轻他的负担呢?,方法:
虽然启动了多个实例,但是访问依然还是同一个机器,没有分担负荷!因此我们需要修改之前的代码!
1.2代码修改实现
@Service
public class StudentService {
@Autowired
StudentMapper studentMapper;
@Autowired
RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
// 计时器
private static AtomicInteger atomicInteger = new AtomicInteger(1);
private static List<ServiceInstance> instances;
@PostConstruct
public void init(){
//根据应⽤名称获取服务列表
instances = discoveryClient.getInstances("Teacher-service