作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在面试中被问到,并且对以下问题的答案感到非常困惑。
如果说某个网站每秒收到 500 个请求,并且它们处理解决大量点击的机制是通过负载均衡器。
在上述情况下,所有请求将首先发送到负载均衡器,然后负载均衡器负责将请求传递到将给出响应的实际服务器。
那么负载均衡器是所有请求的入口点,它也有一定的能力来处理请求?那么负载均衡器可以接受多少请求,如果它接受达到某个限制,那么在这种情况下系统如何工作?
很抱歉,如果我的问题毫无意义,请解释一下?
谢谢。
最佳答案
负载均衡器通常运行基于轻量级事件的 HTTP 服务器(例如 NginX),该服务器为每个传入请求维护与后端服务器的连接。
流行的设置是:
NginX
| \
| \
Apache Apache ...
由于 NginX 可以处理更多的连接,并且具有相当可预测的内存使用模式,因此它通常可以用作多个 Apache 后端服务器(运行 PHP、Python、Ruby 等)的前端。
将 Apache 替换为 Tomcat/Jetty/在此处插入您最喜欢的 servlet 容器,同样的逻辑也适用。
这里的要点是,您的后端服务器通常会做一些更耗时的事情(运行某些脚本语言、查询数据库等),因此每个后端服务器很可能不会受到其 HTTP 服务器的瓶颈组件而不是应用程序逻辑。
对于此类问题,没有一种万能的解决方案。另一种解决方案(其中有很多),一旦您的容量超出了单个负载平衡器计算机的容量,就是在支持多个后端服务器的多个平衡器之间使用 DNS 循环。
关于java - 适用于热门网站的负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946422/
我是一名优秀的程序员,十分优秀!