Ribbon负载均衡 01

ribbon 负载均衡实现流程

在这里插入图片描述

  • 发起请求,到达ribbonLoadBanlancerCliient(ribbon负载均衡客户端)
  • 获取到url中的服务id,dynamicServerListLoadBalancer 从Eureka中拉取服务列表,根据Irule的规则选择某个服务
  • 修改url后发起请求

irule 接口

  • Ribbon的负载均衡规则是一个佳作IRule的接口来定义的,每一个子接口都是一种规则
    在这里插入图片描述

在这里插入图片描述

  • 通过定义Irule实现何以修改负载均衡规则,有两种方式
    1、代码方式:
    在类中定义一个新的Irule @bean注入
@Bean
public IRule randomRule(){
	return new RandomRule();
}

2、配置文件方式

userservice:# 指定的服务名称
	ribbon: #代表ribbon
		NFLoadBalancerRuleClassName: con.netflix.loadbalancer.RandomRule #负载均衡规则
  • 以代码方式进行配置时是全局的,用yml可以指定某个微服务,对不同的微服务添加负载均衡规则

饥饿加载

Ribbon 默认采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。
而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面的配置开启饥饿加载:

ribbon:
	eager-load:
		enabled: true #开启饥饿加载
		clients: userservice #对指定的服务进行饥饿加载
		#多服务时 
			- 服务1
			- 服务2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值