提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
目录
前言
上篇文章提及到springcloud下服务方如何注册信息以,如何发送请求以及负载均衡,这篇文章介绍管理负载均衡的小组件Ribbon
提示:以下是本篇文章正文内容,下面案例可供参考
一、Ribbon是什么?
Ribbon是为客户端提供负载均衡功能的服务
它的主要工作流程
二、Ribbon的负载均衡策略
常见有几种
1.zoneAvoidanceRule
以区域可用的服务器作为基础,在区域服务器中轮询访问
2.RandomRule
随机选择一个可用服务器访问
3:RoundRobinRule(默认策略)
简单轮询服务列表来选择服务器 (排队一个一个来的意思)
4:BestAvailableRule
忽略短路服务器,选择并发数较低的服务器
5:...
三:如何设置负载均衡
1:全局设置
在配置类,或者启动类中设置(启动类也属于配置类)
/**
* 修改全局的负载均衡策略
*/
@Bean
public IRule random(){
return new RandomRule();
}
IRule一个接口,它有许多实现类,且实现类都是负载均衡选择的策略(ctrl+H)
上面的设置是对于全局生效,所有微服务的请求策略都会被替换
2:为特定微服务设置负载均衡策略
如为order-service微服务访问user-service微服务设置负载均衡策略
打开order-service微服务的application.yml
设置
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 自定义这个微服务负载均衡方案为随机
意思是为user-service设置负载均衡策略为随机访问
则在order-service微服务访问user-service微服务时将采用此负载均衡策略
总结
这篇文章简单介绍了Ribbon负载均衡在springcloud下的简单使用。