您的位置:首页 > 编程语言 > Java开发

负载均衡学习笔记

2015-10-30 17:12 441 查看
早期的负载均衡方案是通过DNS服务器解决的,比如将www.baidu.com映射为ip:14.215.177.38,14.215.177.39,14.215.177.40等等,这样请求就分流到了多个服务器上进行处理了。

但DNS实现负载均衡的缺点也很明显:

1、不能按照Web服务器的处理能力分配负载,DNS负载均衡采用的是简单的轮值负载算法,不能区分服务器之间的差异,只是将请求平均分配到后台的Web服务器上,因此最慢的Web服务器将成为系统的瓶颈。

2、不支持高可靠性,没有考虑容错,DNS服务器会将http请求分配到故障机上,导致不能相应客户端。

3、可能会造成额外的网络问题,比如多台DNS服务器之间交互等。

因此,负载均衡的改进方案至少要满足以下功能:

1、转发请求    2、故障服务器移除    3、服务器恢复正常自动添加

实现以上功能又可通过硬件和软件两方面的改进进行解决:

可以通过使用硬件负载均衡器解决,也可以通过使用软件如LVS,Nginx,apache JK等基于Linux且开源的负载均衡策略。

下面主要记录一些主流负载均衡软件的使用:

①apache JK:是apache提供的一款为解决大量请求而分流处理的开源软件(使用的比较少)

②Nginx:是轻量级的Web服务器/反向代理服务器

优点:

1,可运行于Linux,并且有windows移植版

2,占内存及资源少,并且处理相应请求很快

3,具有很高的可靠性

4,安装简单,配置文件简洁

③LVS(直接就有备机方案),是一个虚拟的服务器集群系统,此项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

优点:

1,抗负载能力强,工作在网络第四层传输层,仅作请求分发之用,没有流量,所以在效率上基本不需太过考虑

2,配置性低,没有太多可配置的选项,所以除了增减服务器,不需要经常空配置文件,大大减小了人为出错的几率

3,工作稳定,稳定性高,并且各种LVS都有双机热备方案,所以不用担心均衡器本身出问题,系统整体非常稳定

4,基本上支持所有应用,因为LVS工作在网络第四层传输层,所以可以对几乎所有应用做负载均衡,包括http,数据库,聊天室等。

ps:LVS已成为2.6版本以上的linux内核的一部分,所以不需要再安装,只需要安装keepalived就可以了,命令:yum -y install keepalived

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web服务器 java