nginx服务端负载均衡
Ribbon客户端负载均衡
负载均衡的算法:
轮询,随机,权重,hash,最小连接数法
- Ribbon默认使用轮询,访问次数%提供者总数
- dubbo是随机
Ribbon的负载均衡的源码解析思路:
1.LoadBalancerInterceptor.该拦截器会拦截所有发出的Http请求,拿到所有请求路径
2.通过请求路径可以拿到serviceId.通过serviceId去Eureka拉取服务列表,然后通过负载均衡算法,拿到相对应的机器的服务实例信息.这个实例信息就会拿到ip和port.
3.通过重新构造服务请求进行发送.