20 常见的四层负载均衡的工作模式是怎样的?

你好,我是周志明。

在上节课,我们学习了利用CDN来加速网络性能的工作内容,包括路由解析、内容分发、负载均衡和它所支持的应用。其中,负载均衡是相对独立的内容,它不仅在CDN方面有应用,在大量软件系统的生产部署中,也都离不开负载均衡器的支持。所以今天这节课,我们就一起来了解下负载均衡器的作用与原理。

在互联网时代的早期,网站流量还比较小,业务也比较简单,使用单台服务器基本就可以满足访问的需要了。但时至今日,互联网也好,企业级也好,一般实际用于生产的系统,几乎都离不开集群部署了。

一方面,不管是采用单体架构多副本部署还是微服务架构,也不管是为了实现高可用还是为了获得高性能,信息系统都需要利用多台机器来扩展服务能力,希望用户的请求不管连接到哪台机器上,都能得到相同的处理。

另一方面,如何构建和调度服务集群这件事情,又必须对用户一侧保持足够的透明,即使请求背后是由一千台、一万台机器来共同响应的,这也都不是用户会关心的事情,用户需要记住的只有一个域名地址而已。

那么,这里承担了调度后方的多台机器,以统一的接口对外提供服务的技术组件,就是“负载均衡器”(Load Balancer)了。

真正的大型系统的负载均衡过程往往是多级的。比如,在各地建有多个机房,或者是机房有不同网络链路入口的大型互联网站,然后它们会从DNS解析开始,通过“域名” → “CNAME” → “负载调度服务” → “就近的数据中心入口”的路径,先根据IP地址(或者其他条件)将来访地用户分配到一个合适的数据中心当中,然后才到了我们马上要讨论的各式负载均衡。