首页 > 关于负载均衡的疑问

关于负载均衡的疑问

小白问题:做负载均衡是应对大访问量的重要方法。用户发送请求会先到Load Balance服务器,由Load Balance服务器决定让哪台服务器去处理请求,这样可以减少Real Server的压力。但是既然所有的请求都要先发到Load Balance服务器,岂不是压力全都压在了Load Balance服务器上了?会不会把Load Balance服务器给压垮了?一直没想明白这个逻辑。
比如百度这样的访问量巨大的网站,所有的请求肯定不能只发到一台固定的Load Balance服务器上吧。


百度这样的,你肯定需要考虑机房是有路由的,需要考虑网络架构了


搭车求问,图中的Real Server是直接返回给Client?为什么不先返回Load Balance Server再返回Client


1,Load Balance并不一定只是一台机器,可能是一个集群(如LVS+HeartBeat构建的HA),可能是一个性能极高的或者专业性的设备,如F5。最简单的应用可能是Nginx的反向代理了。有人测试的结果,一台单机可以做到20万的连接数,这个数据是很吓人的。很多业务做一个lvs双机互备,就足够用了。

2,请求不完全只通过一个Load Balance来分发,比如静态文件,CDN文件,文件上传,可以在DNS中,加一些轮询,随机分到不同的Load Balance。

3,还有一个非常常见的应用,便是随机分配域名,比如常见的图片、日志上传,可以分配s[1-999].baidu.com,这样保证业务是随机分配到后端,或者到Load Balance再分配到后端。


Load Balance主要的主要作用是对请求的转发,主要有tcp的转发,和应用层的转发,这些转发处理起来相对简单。主要瓶颈在网卡性能,cpu,这些都是高速设备,可以应对很高的压力。不涉及IO操作都会有很高的性能,IO是最耗费资源的。


转发的Node其实只是负责转发而已,相比后端服务器的负载实在是相形见绌。而且关于入口服务器负载也有负载均衡,比如DNS轮训或者其他高性能负载服务器。

DNS解析一个域名到多个IP,或者是解析到一个IP,在IP入口后还有负载均衡的设置。没有这么简单。通常来说,一台负载node足够了。

【热门文章】
【热门文章】