负载均衡(一)

负载均衡


一:负载均衡概述

企业为了提高业务质量,IT系统访问量和数据流量也将快速增长,其处理能力和计算强度也相应的增大,使得单一的服务器设备根本无法承担。负载均衡让站点式服务器轻松应对流量高峰,有效保证站点的稳定性。针对此情况而衍生出来的一种廉价有效透明的方案以扩展现有网络设备和服务器带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load balance).


二:负载均衡技术特点

1,大量的并发访问或者数据流量分担到多台节点设备上分别处理,有效保证每个请求都能最快处理;

2,网络接入均衡,有效解决我国电信、联通“南北互通”的问题;

3,多种负载均衡方式,有针对性的解决不同网站的压力分配问题;

4,科学的数据同步及内容分发系统;

5,完整的数据备份系统;


三:负载均衡解决方案分析与设计

1,服务处理均衡

服务处理均衡又包括用户请求均衡以及处理模块可均衡。用户请求均衡是通过DNS负载均衡、代理服务器负载均衡、NAT负载均衡、反向代理负载均衡等方式按照一定的机制将所有用户请求均衡至2台或多台服务器上,合理均衡了所有服务器压力。处理模块均衡,是将整个系统架构中不同的应用模块进行了拆分组合至各个服务器,如今,WEB服务器压力主要来自Apache处理用户的Web请求以及频繁的数据读写,而合理的将Web服务器和数据库服务器独立开来,不同的服务器各司其职,能有效的提高整体架构处理并发请求的能力。门户服务器、论坛服务器等应用服务器同样能快速的加入整体架构。



2,数据同步及备份系统

由两台或多台服务器组成的网站集群,完成了网络接入均衡及服务器负载均衡工作。实际上还有很重要的一个工作,数据同步及备份工作。服务器的负载均衡部署完成之后,如何使模型中所有提供Web服务的服务器保持同样的数据。避免不同用户看到不同内容的这样问题。我们必须有完善的的数据同步机制及内容分发系统,在管理服务器发布最新信息的同时将最新的数据交换至模型中所有必要的服务器中。同样我们可以选择磁盘队列,由硬件完成数据同步工作。双机互备系统、模型外备份系统的部署能最大程度保证整体服务模式中数据的安全性,大大提高了灾难性事故中,数据恢复的可能性。


三:负载均衡的实现(软件或硬件)

1,DNS轮询

DNS轮询是指将相同的域名解析到不同的IP,随机使用其中某台主机的技术。但其具有明显的缺点:一旦某个服务器出现故障,即时及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器,DNS负载均衡采用的时间的轮询负载算法,不能服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。

2,F5,BIG-IP

F5是F5 NetWorks 公司的著名硬件负载均衡交换机。支持硬件四层、七层交换。不同的型号性能不同,BIG-F5 6400可以支持800万条并发连接,低一点型号的可以支持400万条以上的并发连接。性能极高,但价格也不菲。

价格:BIG-F5 6400 在16万元人民币左右。

3,LVS(Linux Virtual Server)

软件四层交换。LVS是在Linux内核中作四层交换,只花128个字节记录一个连接信息,不涉及到文件句柄操作,故没有65335最大文件句柄数的限制。LVS性能很好,可以支持100~400万条并发连接。

价格:免费、开源。

4,HAProxy

软件七层交换,反向代理服务器。目前还不支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障时,HAProxy会自动将该服务器排除,故障恢复后再将该服务器自动加入。另外HAProxy还支持双机热备。相关数据显示,能支持2~3万条并发连接。做普通的小并发负载均衡,主要用到的是它的服务器检查健康功能。

价格:免费、开源。

5,Nginx

软件七层交换,反向代理服务器。能够很好的支持虚拟机,可配置性强,可以按URL做负载均衡。目前很多大型的站点一直在用,大约能支持3~5万条并发连接。

价格:免费开源。



Lazy-Balancer 项目起源于好哥们需要一个 7 层负载均衡器,无奈商业负载均衡器成本高昂,操作复杂。又没有特别喜欢(好看,好用)的开源产品,作为一名大 Ops 怎么能没有办法?正好最近在看 Django 框架,尝试自己给 Nginx 画皮,项目诞生!非专业开发,代码凑合看吧。 项目基于 Django   AdminLTE 构建,在 Ubuntu 14.04 上测试通过;为了保证良好的兼容性,请使用 Chrome 浏览器。 因为增加了 iptables 自动控制,所以暂时不支持 docker 方式部署;需要本地测试的同学请使用 vagrant 方式 为了后续扩展方便,请大家使用 Tengine 替代 Nginx 服务 项目地址 GITHUB - https://github.com/v55448330/lazy-balancer 码云 - http://git.oschina.net/v55448330/lazy-balancer OSCHINA - http://www.oschina.net/p/nginx-balancer 更新 将 Nginx 更换为 Tengine 以提供更灵活的功能支持以及性能提升 新增 HTTP 状态码方式检测后端服务器,默认 TCP 方式 新增 HTTP 状态码方式支持查看后端服务器状态 修复因前方有防火墙导致无法获取后端服务器状态 修复因主机头导致后端服务器探测失败 新增自定义管理员用户 新增配置通过文件备份和还原 新增实时查看访问日志和错误日志 新增实时请求统计 更新 Vagrantfile 修复其他 Bug 功能 Nginx 可视化配置 Nginx 负载均衡(反向代理)配置 Nginx 证书支持 系统状态监测 自动维护防火墙规则(白名单) 支持 TCP 被动后端节点宕机检测 支持 HTTP 主动后端节点宕机检测 运行 克隆代码 mkdir -p /app git clone https://github.com/v55448330/lazy-balancer.git /app/lazy_balancer cd /app/lazy_balancer 卸载 nginx apt-get -y purge nginx-* nginx* apt-get -y autoremove 安装 tengine git submodule update --init --recursive cd resource/nginx/tengine apt-get install -y build-essential libssl-dev libpcre3 libpcre3-dev zlib1g-dev ./configure --user=www-data --group=www-data --prefix=/etc/nginx --sbin-path=/usr/sbin --error-log-path=/var/log/nginx/error.log --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx.pid make make install mkdir -p /etc/nginx/conf.d echo "daemon off;" >> /etc/nginx/nginx.conf 安装 supervisor apt-get install supervisor update-rc.d supervisor enable 配置 supervisor cp -rf service/* /etc/supervisor/ 安装依赖 apt-get install -y python-dev python-pip iptables libcurl4-openssl-dev pip install -r requirements.txt 初始化数据库 python manage.py makemigrations python manage.py migrate 启动服务 service supervisor restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值