负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
可分别使用不同策略调用服务提供者,如:轮询和随机策略
nacos的discovery启动包包含有ribbon的jar包,不用再导入
负载均衡接口:com.netflix.loadbalancer.IRule
,其不同的实现子类代表不同的策略。
ribbon搭配Nacos集群,能控制服务访问到指定的某一台服务(负载均衡算法控制)。
代码:
使用ribbon后,直接使用服务名拼接url即可。
测试:开启集群的三台Nacos服务,再开启Nginx,发送请求时会自动按容器中策略对象执行对应的负载均衡策略。
总结:1.使用ribbon不用引包,nacos的discovery包含了。
2.把IRule对应策略子类放入容器。
3. 在发送请求的类上加注解@LoadBalanced开启负载均衡。
4.发送请求把url中的“ip+端口”换成“服务名”即可