微服务面试准备——客户端负载均衡-Ribbon
客户端负载均衡:Ribbon
集中式负载均衡:Nginx(软件),F5(硬件)
使用方式
Ribbon + RestTemplate
Ribbon + Feign
rule内置算法:
RoundRobinRule 轮询
RandomRule 随机
BestAvailableRule 最小的并发请求 server
自定义rule:
指定算法:
①通过纯配置文件的方式来指定算法类,格式为 <clientName>.ribbon.NFLoadBalancerRuleClassName = 算法类的包名 + 类名
②注解@RibbonClient指定算法
ribbon使用场景:灰度发布、多版本隔离、故障隔离
Ribbon 饥饿加载模式:
Ribbon 在进行客户端负载均衡时并不是在启动时就加载上下文,而是在第一次请求时才去创建,因此第一次调用会比较慢,有可能会引起调用超时。可以通过指定 Ribbon 客户端的名称,在启动时加载这些子应用程序上下文的方式,来避免这个问题。