Ribbon负载均衡

Ribbon负载均衡

负载均衡策略

Ribbon的负载均衡规则是一个叫做IRule的接口来定义的,每一个子接口都是一种规则:

通过定义IRule实现可以修改负载均衡规则,有两种方式:

代码方式:在xxxxservice中的xxxxApplication类中,定义一个新的IRule:

复制代码
@Bean
public IRule randomRule(){ 
	return new RandomRule();
}

配置文件方式:在xxxxservice的application.yml文件中,添加新的配置也可以修改规则:

复制代码
userservice: #服务名称  
	ribbon:    
		NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule# 负载均衡规则 

Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。

而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载:

复制代码
ribbon:
	eager-load:   
		enabled: true # 开启饥饿加载     
		clients: userservice # 指定对userservice这个服务饥饿加载

懒加载指的是第一次加载之后,后面不再加载。
饥饿加载指的是启动之后就加载,之后都不需要加载了。

1.Ribbon负载均衡规则

规则接口是IRule

默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询

2.负载均衡自定义方式

代码方式:配置灵活,但修改时需要重新打包发布

配置方式:直观,方便,无需重新打包发布,但是无法做全局配置

3.饥饿加载

开启饥饿加载

指定饥饿加载的微服务名称

相关推荐
Han.miracle14 小时前
eureka的使用负载均衡
运维·负载均衡
青槿吖14 小时前
告别RestTemplate!Feign让微服务调用像点外卖一样简单
java·开发语言·分布式·spring cloud·微服务·云原生·架构
我是无敌小恐龙15 小时前
Java SE 零基础入门 Day02 运算符与流程控制超详细笔记
java·数据结构·spring boot·笔记·python·spring·spring cloud
wzy062315 小时前
ProxySQL(一)—— 实现 MySQL 读写分离、读负载均衡
负载均衡·读写分离·proxysql
StackNoOverflow16 小时前
SpringCloud 声明式服务调用 —— Feign 全面解析(入门 + 原理 + 优化)
后端·spring·spring cloud
源远流长jerry2 天前
LVS 负载均衡完全指南:从入门到精通
运维·负载均衡·lvs
身如柳絮随风扬2 天前
Dubbo 与 Spring Cloud 终极对比:RPC 框架 vs 微服务生态
spring cloud·rpc·dubbo
一个有温度的技术博主2 天前
Spring Cloud 入门与实战:从架构拆分到核心组件详解
spring·spring cloud·架构
uNke DEPH2 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
hINs IONN2 天前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby