Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

ZooKeeper 与 Nginx 的负载分配有什么区别?

查看完整题解

参考回答

直接回答

ZooKeeper 可以提供地址表,应用拿到表后自己选服务器并发请求。用 Nginx 做反向代理时,请求会经过 Nginx,接到 HTTP 请求后直接选择并转发给上游。

讲清原理

发现是找出现在有哪些地址,负载均衡是决定这次用哪个地址。Dubbo 可以从 ZooKeeper 拿地址,然后在消费端选择提供者。Nginx 则可按轮询、较少连接等策略在自己的上游组里选。

例子与易错点

支付接口由三个实例提供,Dubbo 的 RPC 请求通常直接到所选实例,Nginx 代理的 HTTP 请求则经过 Nginx。ZooKeeper 客户端切换自己的集群入口也是另一件事。

延伸阅读 ZooKeeper 适合哪些应用场景? · ZooKeeper 和 Dubbo 各自负责什么?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。