负载均衡开源代码分析.docx

上传人:鲁** 文档编号:554911725 上传时间:2023-01-14 格式:DOCX 页数:146 大小:4.29MB
返回 下载 相关 举报
负载均衡开源代码分析.docx_第1页
第1页 / 共146页
负载均衡开源代码分析.docx_第2页
第2页 / 共146页
负载均衡开源代码分析.docx_第3页
第3页 / 共146页
负载均衡开源代码分析.docx_第4页
第4页 / 共146页
负载均衡开源代码分析.docx_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《负载均衡开源代码分析.docx》由会员分享,可在线阅读,更多相关《负载均衡开源代码分析.docx(146页珍藏版)》请在金锄头文库上搜索。

1、LB开源代码分析关键词:摘 要: 对LB开源代码haporxy、nginx、LVS、Squid、SLB、DNS动态解析,以及部分商业负载均衡解决方案等的分析缩略语清单: 缩略语英文全名中文解释LBLoading Balance负载均衡LVSLinux Virtual ServerLinux虚拟服务器LDAPLight-weight Directory Access Protocol轻量级目录访问协议,是目录服务在TCP/IP上的实现NCSANational Center for Supercomputer Applications国家超级计算机应用中心ASautonomous systemBG

2、Pborder gateway protocol;边界网关协议: 在自治系统之间交换选路信息的协议, 也可以用于自治系统内部A10http:/ Introduction 简介1.1 目的对LB开源代码haporxy、nginx、LVS、Squid、SLB、DNS动态解析,以及部分商业负载均衡解决方案等的分析,为应用加速项目设计提供思路,避免闭门造车。1.2 LVSLVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS

3、/TUN和VS/DR),八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。章文嵩博士目前工作于中国国家并行与分布式处理重点实验室,主要从事集群技术、操作系统、对象存储与数据库的研究。1.3 KeepAlivedkeepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中

4、,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。1.4 HAPorxy参考网页:http:/ 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。关键词:(1)基于TCP和HTTP应用代理的负载均衡(2)特别适用于web服务器负载均衡1.5 Nginx 参考网页:http:/ Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在

5、一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。、Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP

6、 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。关键词:(1)轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。(2)占有内存少,并发能力强。(3)可为负载均衡服务器(4)Nginx是Apache服务器不错的替代品1.6 Squid参考网页:http:/ cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器

7、的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Linux一类系统运行。关键词:(1)Web缓存服务器。(2)缓存万维网,域名系统和其他网络搜索。(3)代理上网1.7 Pen参考网页:http:/ 是一个简单的负载平衡器,支持基础协议的TCP如HTTP或SMTP 。它允许多个服务器上显示为一个外部和自动检测服务器上,以减少现有服务器和客户之间的开销。这使高可用性和可扩展的性能。该负载平衡算法跟踪客户,并尝试将它们发送回服务器,他们的最后一次访问。客户端表有若干插槽(默认2048 ,设置通过命令行参数)

8、 。当表已满,则最近使用的人会被处理掉,以腾出空间给新的。这是一个简单的优势轮询算法,该算法发出了一个客户端连接到不同的服务器反复。这样做的时候休息,应用,维护国家之间的连接的服务器,其中包括最先进的Web应用程序。当 Pen 检测到服务器不可用,它会扫描再从该服务器后,最近使用过的一个。这样,我们得到的负载平衡和“公平”故障是免费的。关键词:(1)简单的负载平衡器。(2)简单的优势轮询算法。1.8 mod_backhand参考网页:http:/ 是一个Apache 的负载平衡模块 。它定义了每个请求的HTTP重定向在一个异构的Apache服务器群集。每个请求的处理,并贯穿了一套“候选人的职能

9、” ,以确定哪些服务器是最适合的回应。请求然后代理到该服务器。设施已到位,让你写您自己的动态加载决策算法。一切有关的要求和当前可用的资源可用于决策过程关键词:(1)HTTP重定向功能。(2)动态加载决策算法。1.9 Galera Load Balancer参考网页:http:/ (Galera Load Balancer) 是一个与 Pen 类似的 TCP 负载均衡器,它功能没有 Pen 那么强大,其主要的目的是做一个非常快速的 TCP 协议代理。通过利用多核CPU的优势,GLB 的速度有显著的提升。关键词:(1)快速的TCP协议代理。(2)利用多核CPU的优势。1.10 DNS动态解析软件B

10、indBIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成2。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。 BIND的历史:20世纪80年代,柏克莱加州大学计算机系统研究小组的四个研究生Douglas B Terry、Mark Painter、David W.Riggle和周松年(Songnian Zhou)一同编写了BIND的第一个版本,并随4.3BSD发布。2 LVS分析2.1 LVS介绍2.1.1 LVS简

11、介参考网页:http:/www.LinuxVirtualServer.org/http:/www.linux-vs.org/http:/zh.linuxvirtualserver.org/http:/ Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR),八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。章文嵩博士目前工作于中国国家并行与分布式处理重点实验室,主要从事集群技术、操作系统

12、、对象存储与数据库的研究。关键词:(1) 服务器集群系统。(2) 三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)。(3) 八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。(4) 基于IP层负载均衡犯技术(5) 基于内容请求分发技术(6) 将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器(7) 负载调度器,负载调度技术。2.1.2 LVS的架构目前,LVS项目已提供了一个实现可伸缩网络服务的Linux Virtual Server框架,如图所示。在LVS框架中,提供了含有三种IP负载均衡技术的IP虚拟服务器软件IPVS、基于内容请求分发的

13、内核Layer-7交 换机KTCPVS和集群管理软件。可以利用LVS框架实现高可伸缩的、高可用的Web、Cache、Mail和Media等网络服务;在此基础上,可以开 发支持庞大用户数的、高可伸缩的、高可用的电子商务应用。2.1.2.1 IP虚拟服务器软件IPVS1. 三种IP负载均衡技术在调度器的实现技术中,IP负载均衡技术是效率最高的。在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Tran

14、slation),大多数商品化的IP负载均衡调度器产品都是使用此方法,如Cisco的LocalDirector、F5的Big/IP和 Alteon的ACEDirector。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的方法VS/TUN(Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。所以,IPVS软件实现了这三种IP负载均衡技术:1 Virtual Server via Network Address Translation(VS/NAT)通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号