成熟的网络流量分流方案
LVS + keepalived方案
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,linux内核2.6.X之后
的版本默认集成了LVS模块(内核模块为名ipvs)。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度
方案。
nginx + keepalived方案
nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,由伊戈尔
·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,其将源代码以类BSD许可证的形式发布,以其的稳定
性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
两种方案主要特性对比
稳定性
LVS + keepalived方案:LVS是专门的流量负债均衡方案,keepalived一开始也只是LVS的一个辅助工具,
linux内核2.6.X之后的版本也默认集成了LVS模块(内核模块为ipvs),专业且稳定;
nginx + keepalived方案:nginx是高性能的HTTP和反向代理web服务器,以稳定性、丰富的功能集、简
单的配置文件和低系统资源的消耗而闻名,稳定上也无问题。
性能
(1)LVS工作在传输层(TCP,UDP),nginx工作在应用层(http), 从工作的协议层面来说,理论上
LVS会更快;
(2)LVS的DR和TUN工作模式,可以只处理请求数据包,即只请求流量经过LVS处理,响应流量可以绕
开LVS直达客户端,就http协议的话我们知道响应数据量比请求数据量要大得多; 依据LVS及nginx的以上
工作特定,理论上来说LVS的吞吐量至少可以达到nginx的2倍以上,甚至十余倍都有可能。
实用性
因为LVS工作在传输层(TCP,UDP),因此它对所有应用层协议都能做负债均衡,而nginx工作在应用
层,只能适用http和email。
专业性
keepalived + LVS 是专业的负债均衡方案,负债均衡方面特性丰富,支持4种工作模式,十种负债均衡调
度算法。
选择建议
基于以上分析本次负债均衡方案采用LVS + keepalived方案。
支持配置如下工作特性:
(1)备份方式采用:双主机方式(Active-Active 方式);
(2)工作模式支持:DR模式、NAT模式;
(3)调度算法支持: 最少链接lc、加权最少链接wlc、轮询调度rr、加权轮询wrr; 配置方案建议: