目录
负载均衡原理
总体流程
负载均衡流程
负载均衡策略
方式1 ——代码方式
@Bean
public IRule randomRule(){
return new RandomRule();
}
这种方式是全局生效的,这里orderservice作为消费者虽然只有一个提供者,但是实际开发中会有很多的提供者,他对所有的都生效。
其中返回的对象和前面的规则类相对应。
方式2 ——配置文件方式
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则
这里呢,是可以针对某个提供者服务进行配置的
懒加载
Ribbon默认是采用懒加载,即第一次访问时才回去创建LoadBalanceClient,请求时间会很长。
而饥饿加载会在项目创建时加载,降低第一次访问的效能。
使用方式
ribbon: eager-load: enabled: true #开启饥饿加载 clients: userservice #指定对这个服务进行饥饿加载
总结
负载均衡规则
规则接口是IRule
默认是轮询算法
负载均衡方式
代码方式
配置文件方式
饥饿加载
开启加载
指定微服务名称
小提示
LoadBalancer是Spring Cloud官方提供的负载均衡组件,可用于替代Ribbon。其使用方式与Ribbon基本兼容,可以从Ribbon进行平滑过渡。Ribbon基本上从springboot2.7.6就开始弃用了,我们可以参照之前的版本对照看看你的sprigcloud是否可以使用。