负载均衡(Load Balance)
负载均衡(Load Balance)
一般通过集群冗余服务器来保证服务的高可用,这时就需要解决一个问题 - 分发请求。
1 HTTP 重定向负载均衡
请求发送到负载均衡服务器,负载均衡服务器选择处理的集群服务器,要求客端重定向。
1.1 缺点
每次请求需要两次 http 交互。
2 DNS 负载均衡
通过域名管理配置多个 IP 地址,用户访问时会解析出不同的 IP 地址。当前环境下,客户端会缓存第一次获取到的 IP ,在后续请求中不会重复的请求 DNS 服务器。 常用做负载均衡器的负载。
3 反向代理负载均衡
反向代理服务器开启负载均衡功能。可以在小行网站使用。
3.1 缺点
可代理服务器上限低
代理 http 请求,代理服务器本身压力大
4 IP 负载均衡
负载均衡服务器,管理数据包修改 ip 地址,接收返回 http 请求和相应。接收到客户端请求,保存外部 ip 地址,并将 ip 地址请求修改为自身 ip,请求应用服务器。应用服务器处理请求,返回 http 响应给负载均衡服务器,负载均衡服务器再次修改 ip,将 http 响应返回给客户端。
4.1 缺点
请求和响应都需要通过负载均衡服务器,响应体大的话,压力依旧比较大。
5 数据链路层负载均衡
应用服务器设置统一的虚拟 IP 地址,负载均衡服务器接收来自客户端的请求,通过应用服务器不同的 mac 地址来选择服务器。http 响应不会经过负载均衡服务器。大型网站主要负载均衡模式,又称负载均衡三角模式。
Linux 新版本默认集成了 LVS,运维人员维护。
6 负载均衡算法
6.1 轮询
6.2 加权轮询
6.3 随机
6.4 最少链接
6.5 源地址散列
版权声明: 本文为 InfoQ 作者【陈皮】的原创文章。
原文链接:【http://xie.infoq.cn/article/b45333f506ff0996b6744a260】。文章转载请联系作者。
评论