负载均衡架构最全详解(图文全面总结)

负载均衡是大型架构的必备技能,下面我重点来详解负载均衡架构@mikechen

负载均衡

负载均衡,是分布式系统中的核心技术,用于将请求、或任务合理分配到多个服务器。

负载均衡架构最全详解(图文全面总结)

通过将请求:分发到多个后端节点并发处理,系统的整体处理能力大大提升,能够支撑更高的并发数。

当系统负载增加时,可以方便地添加新的后端服务器到负载均衡器中,实现系统的水平扩展,应对不断增长的用户需求。

并且,当某个后端服务器发生故障时,负载均衡器可以将流量导向其他健康的服务器,保证服务的持续高可用。

 

负载均衡架构

根据规模、和复杂度不同,常见的负载均衡架构大致分为三类:

负载均衡架构最全详解(图文全面总结)

单层负载均衡架构

单层负载均衡架构是最常见的一种负载均衡模式,常使用 Nginx。。。等反向代理工具。

一般,部署在服务入口处,负责将用户请求分发至多个后端服务节点。

负载均衡架构最全详解(图文全面总结)

客户端请求,首先到达单层负载均衡器。

客户端请求
    ↓
 [Nginx / HAProxy]
    ↓
后端服务1   后端服务2   后端服务3

然后,负载均衡器根据配置的算法(如轮询、最少连接、IP哈希…等),将请求分发到后端多台服务器节点。

采用这种方式,简单易部署,架构清晰,配置相对简单。

但是,不支持跨地域、或多数据中心,不具备强大的连接转发能力(相比 LVS)。

 

双层负载均衡架构

双层负载架构,通常第一层使用性能强大的四层负载均衡器(如 LVS),负责大规模的连接转发。

第二层使用功能更丰富的七层负载均衡器(如 Nginx),负责更精细的流量控制、和应用层处理。

如下图所示:

负载均衡架构最全详解(图文全面总结)

第一层:LVS 工作在四层,负责高性能连接调度;

第二层:Nginx 工作在七层,支持 URL 路由、Header 分发、缓存控制;

LVS 可通过 DR 模式实现内核级转发,性能极高;

多个 Nginx 实例可部署在不同节点上,实现横向扩展。

支持高可用部署(Keepalived + VIP),适合大中型互联网服务,但是运维和架构门槛提升。

 

多层负载均衡架构

多层负载均衡架构,引入更多层次的负载均衡、和流量管理。

以实现全球范围的服务分发、加速和高可用性。

负载均衡架构最全详解(图文全面总结)

多层分发策略,流量逐级过滤、加速、和调度。

DNS 实现地域级请求分发,如:阿里云云解析…等等。

CDN 缓存静态资源、降低源站压力,SLB 实现公网入口负载均衡;

内部再做一层 Nginx/LVS,实现微服务、或模块级调度。

支持跨地域负载均衡,但是配置和维护难度较大,成本较高,需要对各个层次的原理和配置有深入的理解。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧