首页 > 代码库 > 负载均衡
负载均衡
硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司长期使用。软件负载均衡在互联网领域大量使用,常用的软件负载均衡软件有Nginx,Lvs,HaProxy等。
一、定义
当http请求过多时,反向代理服务器负责分发http请求,确保某台资源服务器(可以是集群)压力不会太大,而导致崩溃。解决并发压力,提供故障转移。
二、Ngnix的负载均衡
1、定义
Ngnix是一款轻量级的Web服务器/反向代理服务器,使用epoll and kqueue作为开发模型,工作在七层Http协议的负载均衡系统。
2、特点
具有高性能、高并发、低内存使用等特点。
3、策略
A、内置策略
包含加权轮询和ip hash,这两种策略默认会编译进nginx内核,只需在nginx配置中指明参数即可。
B、扩展策略
如fair、通用hash、一致性hash等,默认不编译进nginx内核。
4、用途
Ngnix一般作为入口负载均衡或内部负载均衡,结合反向代理服务器使用。
三、HaProxy负载均衡
HAProxy也是使用较多的一款负载均衡软件,提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,是免费、快速并且可靠的一种解决方案,特别适用于那些负载特大的web站点。运行模式使得它可以很简单安全的整合到当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
HTTP和HTTPS的负载均衡叫做七层负载均衡,而TCP和UDP协议的负载均衡叫做四层负载均衡。
1、特点
- 支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
- 配置简单,支持url检测后端服务器状态;
- 做负载均衡软件使用,在高并发情况下,处理速度高于nginx;
- TCP层多用于Mysql从(读)服务器负载均衡; (对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡)
- 能够补充Nginx的一些缺点比如Session的保持,Cookie引导等工作。
2、策略,算法
- 轮询,轮流分配到后端服务器;
- 根据后端服务器性能分配;
- 最小连接者优先处理;
- 根据请求源IP,与Nginx的ip hash类似。
负载均衡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。