一、Ribbon负载均衡器
主要有两种:
- 服务端负载均衡器:在消费者和服务提供方中间使用独立的代理方式负载,硬件(F5),软件(Nginx、OpenResty)
- 客户端负载均衡器:客户端根据自己的请求情况做负载均衡
二、常见的负载均衡算法
主要的四种: 轮询 随机 权重 响应时长
- RoundRobinRule(轮询):按顺序循环将请求分发到每个服务实例
- RandomRule(随机):随机选择一个服务实例处理请求
- WeightedResponseTimeRule(权重):根据服务实例的历史响应时间调整其权重
- BestAvailableRule(响应时长):选择当前并发请求最少的服务实例,有多个的话,就随机选择一个,侧重于选择当前负载较低的服务
三、Nacos 与 application.properties 同时配置了同一个key? 谁的优先级高?为什么
Nacos优先级会更高,因为配置文件在Nacos之前加载,之后加载的配置会覆盖先前配置
四、超时时间
ribbon.ConnectTimeout :控制连接建立的超时时间
ribbon.ReadTimeout:从服务端读取数据的超时时间
五、Ribbon第一次调用为什么这么慢?
优化方法使用饥饿加载