Nginx和Ribbon实现负载均衡的区别

Nginx和Ribbon的区别

1. Nginx服务器端负载均衡:

1、Nginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。即请求有nginx服务器端进行转发。

3、Nginx是服务端的负载均衡,Ribbon是客户端的负载均衡

4、Nginx是集中式的负载均衡,Ribbon是消费者内部线程实现的负载均衡

2. Ribbon客户端负载均衡:

1、Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,让后在本地实现轮训负载均衡策略。即在客户端实现负载均衡。

2、. 两者应用场景的区别:

Nginx适合于服务器端实现负载均衡 比如Tomcat ,Ribbon适合与在微服务中RPC远程调用实现本地服务负载均衡,比如Dubbo、SpringCloud中都是采用本地负载均衡。

一、为什么说Nginx是服务端的负载均衡,Ribbon是客户端的负载均衡呢?

1.用户发送请求到nginx,nginx是服务端。

2.Ribbon是微服务之间通信的负载均衡,订单服务调用商品服务时,订单服务就是客户端,商品服务就是服务端。

二、为什么说Nginx是集中式的负载均衡,Ribbon是消费者内部线程实现的负载均衡呢?

1.nginx是所有请求都会通过nginx进行分发,所以是集中式的负载均衡。

2.订单服务在调用商品服务时,在订单服务内部通过Ribbon的负载均衡算法选出商品服务后进行调用,所以是消费者内部线程实现的负载均衡。

相关推荐
zwxu_1 小时前
Nginx NIO对比Java NIO
java·nginx·nio
FeelTouch Labs2 小时前
Nginx核心架构设计
运维·前端·nginx
MicoZone4 小时前
nginx(更新中)
nginx
Evan芙4 小时前
nginx+php部署walle,发布php站点
运维·nginx·php
The Electronic Cat10 小时前
树莓派安装nginx
运维·chrome·nginx
先生沉默先12 小时前
Docker+Nginx+Node.js 全栈容器化部署
nginx·docker·node.js
Evan芙12 小时前
Nginx安全相关的参数总结
运维·nginx·安全
DKunYu12 小时前
3.负载均衡-LoadBalance
java·运维·spring cloud·微服务·负载均衡
机灵猫13 小时前
OpenFeign 声明式客户端的动态代理与 LoadBalancer 负载均衡策略
运维·负载均衡