负载均衡技术介绍
什么是负载均衡?#
负载均衡 (LB Load Balance) 是一种技术解决方案, 是高可用架构的一个关键组件,是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求 / 数据均匀的分发到多个服务器上,即在多个资源中分配负载,以达到资源最优化使用,避免过载。它的核心是,分配是否均匀。
一个最基本的 web 架构,没有使用负载均衡的 web 架构 如下图:
这里不难看出,如果同时有大量的用户访问我们的网站,就很有可能造成我们的网站响应慢甚至服务器瘫痪不响应。当然,如果这里的 Web Service 挂了,那么整个系统都将无法工作,也就是所谓的单点故障。
那么,为了解决网站访问量过大,已经超出了服务器的处理极限,我们就得再增加一台服务器,然后通过一个调度器将请求均匀的分配到真实服务器上。这就是一个最简单负载均衡的例子。
常见的负载均衡软件介绍#
2、Nginx 负载均衡
常见的负载均衡对比分析#
1、Linux LVS
- 优点:
- 工作在网络 4 层,仅做分发,负载能力强
- 工作稳定,具有成熟完整的双机热备方案,LVS+Keepalived
- 只做请求分发,流量 (响应) 并不从本身出去 (LVS/DR 模式),保证了 I/O 性能不受大流量的影响
- 应用范围比较广,工作在 4 层,几乎可以对所有应用做负载均衡,包括 http、数据库、在线聊天室等等
- 缺点:
- 软件本身不支持正则表达式处理,不能做动静分离
- 如果真实服务器有 windows 系统的话,不好做处理
本作品采用《CC 协议》,转载必须注明作者和本文链接