4.1.负载均衡原理
4.2源码追踪
我们只输入了service名称就可以访问了呢?之前还要获取ip和端口。因为这里拦截了请求它就是LoadBalancerInterceptor
,这个类实现了下面这个这个接口,拦截发送的请求然后从Eurka或者nacos中拉取服务
LoadBalancerIntercepor
实现客户端拦截请求
总结(重点)
负载均衡策略
默认为实现就是ZoneAvoidanceRule,是一种轮询方案
自定义负载均衡策略(重点)
通过定义IRule实现可以修改负载均衡规则,有两种方式:
代码方式:在order-service中的OrderApplication类中,定义一个新的IRule
-
配置文件,这里是给nacos配置
-
饥饿加载:
- Ribbon默认的加载失败懒加载,第一次会比较慢,但是第一次加载后就会缓存,后面访问速度就会提升
- 可以使用饥饿加载来配置,减少第一次访问所需要的时间