负载均衡定义
分布式系统中⼀个⾮常重要的概念,当访问的服务具有多个实例时,需要根据某种“均衡”的策略决定请求发往哪个节点,这就是所谓的负载均衡,原理是将数据流量分摊到多个服务器执⾏,减轻每台服务器的压⼒,从⽽提⾼了数据的吞吐量
常见的负载均衡策略
- 节点轮询
简介:每个请求按顺序分配到不同的后端服务器 - weight 权重配置
简介:weight和访问⽐率成正⽐,数字越⼤,分配得到的流量越⾼ - 固定分发
简介:根据请求按访问ip的hash结果分配,这样每个⽤户就可以固定访问⼀个后端服务器 - 随机选择、最短响应时间等等
集成Ribbon实现
第一步:订单服务增加@LoadBalanced 注解,启动负载均衡
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
第二步:订单controller调用
启动三个服务,端口号分别是9000、9010、9020。
启动服务,端口号9001。
nacos查看注册服务如下图,视频服务有三个实例,订单有1个。
第三步:postman调用接口验证负载均衡效果
成功!