视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式)
Ribbon-负载均衡原理(P14)
具体实现时通过@LoaBalanced注解实现,表示RestTemplate要被Ribbon拦截处理
orderservice调用user时候,会先发送请求到Ribbon,Ribbon会到Eureka查询注册的user服务,查询到后再通过 Ribbon负载均衡选择调用具体的服务。
具体工作流程
具体代码
拦截http请求
进入Ribbon
执行
获取服务列表
选择负载均衡机制
返回
根据负载均衡机制选择注册的服务
Ribbon-负载均衡策略(P15)
定义自己想使用的IRule 2种规则
方式1,是全局都使用此规则
方式2,是指定的服务使用此规则
Ribbon-饥饿加载(P16)
第一次访问时耗时会较长,是因为第一次访问才会创建LoadBalanceClient
可以通过配置文件形式配置成饥饿加载(项目启动时就创建LoadBalanceClient),且要指定服务
多个时要这样指定:
总结: