第四章:负载均衡概论
负载均衡是构建可靠的分布式系统最核心的概念之一。几乎所有的大型分布式系统都是用四层负载均衡(例如 LVS、DPVS)基于 ECMP(等价多路径路由)实现多活入口,入口后方为七层负载均衡(例如 OpenResty、Kong、APISIX 等)实现的网关服务。负载均衡系统与基础架构层组件,例如弹性伸缩、服务治理等协同工作,实现业务系统高可用、高性能、高并发目标。
不过无论负载均衡器以何种形式存在,核心的职责都是“选择谁来处理用户请求”和“将用户请求转发过去”。
4.1 负载均衡概述
业内讨论网络负载均衡器的时候,负载均衡器(load balancer)和代理(proxy) 两个术语经常无差别混用,本文也将沿用这种惯例,认为二者整体上对等(严格地讲并非所有代理都是负载均衡器,但绝大多数代理都有负载均衡功能)。
如图 4-2 所示的负载均衡高层架构图,若干客户端正在访问若干后端服务,中间的负载均衡器完成以下功能:
- 服务发现:系统中哪些后端可用、它们的地址是什么(负载均衡器如何能够联系上它们)。
- 健康检查:哪些后端是健康的,可以正常接收请求。
- 负载均衡:用哪种算法来均衡请求至健康的后端。
图4-2 负载均衡架构
广义的负载均衡包括操作系统使用负载均衡来跨物理处理器调度任务、容器编排器使用负载均衡来跨集群调度任务、网络负载中跨可用后端调度网络任务等等,本章我们讨论的内容主要为网络负载均衡。网络类型所有解决方案通常分为两类:四层负载均衡和七层负载均衡,这两者分别对应 OSI 模型的 4 层和 7 层。
添加评论