您现在的位置:网站首页答辩论文计算机毕业设计

毕业设计 负载均衡器设计与优化

  • 简介:毕业设计-负载均衡器设计与优化,共60页,17949字,附开题报告等,主要内容,主要讨论HAproxy负载均衡器的原理及其实现。通过阅读大量负载均衡器源码,并在原有HAproxy基础上进行二次开发,实现在线拓展模块,提高了HAproxy的灵活性。,主
    类型:word+pdf    页数:60    字数:17949   
    资料包括:论文 源码 开题报告   
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
文件大小:1.48MB
适用专业:软件工程
适用年级:大学
论文编号:207809

论文简介:

毕业设计-负载均衡器设计与优化,共60页,17949字,附开题报告等
主要内容
主要讨论HAproxy负载均衡器的原理及其实现。通过阅读大量负载均衡器源码,并在原有HAproxy基础上进行二次开发,实现在线拓展模块,提高了HAproxy的灵活性。
主要研究内容如下:
主流的负载均衡器的对比;
HAproxy负载均衡器的工作原理及实现;
HAProxy在线拓展模块的需求分析;
HAproxy在线拓展模块的系统设计;
在线拓展模块的相关测试分析;


摘要
随着大数据时代的到来,网络信息呈现爆炸式的增长,而仅仅依靠硬件上的升级已经远远无法满足用户的需要,而且必将造成很大程度上的浪费。而集群系统以高性能、高可靠性、高拓展性、低成本的特点正在逐渐的被运用到互联网的关键领域上。
本文首先分析传统的负载均衡器的工作原理、算法及目前主流的负载均衡器的存在的问题。以传统的负载均衡器HAproxy为平台,设计了一个拓展模块。并对该拓展模块的必要性和可行性进行了分析;详细介绍了利用软件工程思想进行系统分析和设计的全过程,在分析过程中给出了整个系统模块的划分,并给出了每一个模块的较为详细的设计步骤。并在最后对拓展模块进行了性能测试和可用性测试。
通过实践证明,本文提出的拓展模块无需重启或者关闭负载均衡器,能够在线动态的管理负载均衡器的配置,仅仅引入了5%的开销,而且该拓展模块可以很好的兼容于HAproxy的其他功能模块,并且不影响其他功能的实现。
关键词:负载均衡 ; HAproxy ; 高可用集群 ; 自动化管理


Abstract
With the arrival of the era of large data, network information present explosive growth,while only depending on hardware upgrade can't satisfy the demand of the customer, and will cause the waste in a great extent.And cluster system are gradually be applied to the Internet in key areas with high performance, high reliability,expanding,low cost characteristics.
This paper firstly analyzes the mainstream load balancer's work principle,algorithm and the load balancer's problems. We analysize and design a extend module based on the traditional load balancer HAproxy. And we describe its necessity and feasibility. We introduce the extend module using software engineering thoughts in detail.In my analysis of the whole extend modules,I will describe my division and the detailed design steps of each module. Finally, we describe our performance testing and usability testing on our extend module.
Experiment shows the proposed extend module can not only adapt the situation of frequently modifing in the config file with the cost less than 5 %, but also be well compatible with other functional modules in HAproxy and doesn't affect other functions.
Key Words:load balancer ; HAproxy ; highly reliable cluster ; automated management


目录
第一章 绪论 - 1 -
1.1 课题背景及问题的提出 - 1 -
1.2 课题研究现状 - 1 -
1.3 论文的主要工作 - 2 -
第二章 负载均衡的基本概念 - 3 -
2.1 硬件负载均衡器 - 3 -
2.2 事件驱动模型 - 4 -
2.3 负载均衡的种类 - 6 -
2.3.1 DNS轮询方式 - 6 -
2.3.2 手动负载均衡方式 - 7 -
2.3.3 反向代理方式 - 8 -
2.3.4 四七层交换技术 - 8 -
第三章 拓展模块的需求分析 - 10 -
3.1目的 - 10 -
3.2范围 - 10 -
3.3缩写说明 - 10 -
3.4术语定义 - 10 -
3.5系统定义 - 10 -
3.5.1项目来源及背景 - 10 -
3.5.2项目要达到的目标 - 11 -
3.6系统整体结构 - 11 -
3.7系统环境 - 12 -
3.7.1系统运行网络环境 - 12 -
3.7.2系统运行硬件环境 - 13 -
3.7.3系统运行软件环境 - 13 -
3.8功能规格 - 14 -
3.8.1 管理员添加服务器 - 14 -
3.8.2 管理员删除服务器 - 15 -
3.9 性能需求 - 15 -
3.9.1 响应时间需求 - 15 -
3.9.2 可靠性需求 - 15 -
3.9.3 开放性需求 - 15 -
3.9.4 可扩展性需求 - 15 -
3.9.5 系统安全性需求 - 16 -
3.10 产品提交 - 16 -
3.11 实现约束 - 16 -
第四章 拓展模块的系统设计 - 17 -
4.1编写目的 - 17 -
4.2开发项目名称 - 17 -
4.3定义及设计 - 17 -
4.4总体设计 - 17 -
4.4.1概述 - 17 -
4.5设计思想 - 18 -
4.6 HAproxy关键算法和主要的原理 - 20 -
4.6.1 HAproxy的调度算法 - 21 -
4.6.2 HAproxy的核心原理 - 21 -
4.7系统模块设计 - 23 -
4.7.1自动化管理模块 - 23 -
4.7.2 URL过滤模块 - 25 -
4.7.3 增加服务器功能模块 - 26 -
4.7.4 删除服务器功能模块 - 27 -
4.7.5 服务器监控页面功能模块 - 28 -
4.8 系统平台搭建 - 28 -
4.8.1 负载均衡器搭建 - 28 -
4.8.2 后台服务器搭建 - 29 -
4.8.3 拓展模块的实现 - 29 -
第五章 拓展模块的系统测试 - 31 -
5.1目的 - 31 -
5.2 自动化管理模块测试 - 31 -
5.3 健康检查功能测试 - 31 -
5.4 监控页面模块测试 - 32 -
5.5 cookie insert功能测试 - 33 -
5.6 拓展模块的性能测试 - 35 -
5.7 测试总结及结论 - 36 -
5.8 拓展模块的特点 - 37 -
5.8.1拓展模块优点 - 37 -
5.8.2 拓展模块缺点 - 37 -
第六章 总结与展望 - 38 -
6.1总结 - 38 -
6.2展望 - 38 -
参考文献 - 40 -
附录 - 41 -


1.1课题背景及问题的提出
随着大数据时代的到来,Internet用户已经从原来的几百万激增到了数十亿,单台服务器根本无法满足需要。负载均衡技术的出现,很好的解决了单台服务器压力过大,流量过多而导致Down机等一系列问题。现如今,负载均衡技术被广泛的应用到计算机领域。小到CPU与CPU之间、核与核之间的负载均衡,大到服务器与服务器、数据中心与数据中心之间的负载均衡。而且由于云计算时代的到来,更加推动了网络负载均衡技术的发展,很多的云计算的解决方案中都会涉及到网络负载均衡的部分。
网络负载均衡器的种类很多,从软件到硬件都可以做,根据不同的应用场景,软件和硬件都有各自的优缺点。其中应用比较广泛的硬件负载均衡器有BIG IP、F5。软件负载均衡器有HAproxy,Nginx,LVS等。
本论文主要讨论如何通过内容识别的方法优化网络负载均衡器。
1.2课题研究现状
目前,HAproxy(简称为HAp)是比较主流的负载均衡器。工作在网络的第七层。它自身有心跳检测的机制确保提供服务的稳定性、可靠性。HAproxy会周期的检查各个后台服务器的状态,当发现后台的服务器有down机,HAproxy就不会选择该服务器为用户提供服务。HAproxy会重定向请求到另一台服务器。它采用Front End模式,通过绑定静态IP地址,注册到DNS服务器。所有的连接请求都通过这台front server分发到真正提供服务的服务器(realserver 后面将简称rs)。在云计算环境下,提供服务的服务器对用户是不可见的。用户只能得知提供服务的服务器是否能够提供正常的服务[1]。所以负载均衡器的实时性及高可靠性就显得非常重要了。
国内外对负载均衡器的优化,大多集中在优化服务器的缓存上。另外也有提出采用基于内容识别的方法[2],将拥有相似请求报文的连接重定向到相同的服务器,这样避免了Cache的浪费。但如果客户的访问请求过大,将存在大量的相似的请求被重定向到单一服务器,可能会造成单台服务器压力过大而Down机。
在内容识别的基础上,做了相应的改进,更加细化了对用户请求的内容,将其分为逻辑数据和非逻辑数据,通过在负载均衡器上设置缓存,并实时采集每台服务器的信息,根据服务器详细的运行状态信息进行调度。这样显然增大了负载均衡器的设计难度及实时性效果,而且需要考虑过多的缓存一致性的问题[3]。
同时也有为了降低集群服务器的复杂度及灵活性,采用了DNS论询的方式来优化整个系统的性能.[5]
1.3论文的主要工作
本论文主要讨论了HAproxy负载均衡器的原理及其实现。通过阅读大量负载均衡器源码,并在原有HAproxy基础上进行二次开发,实现在线拓展模块,提高了HAproxy的灵活性。
主要研究内容如下:
主流的负载均衡器的对比;
HAproxy负载均衡器的工作原理及实现;
HAproxy在线拓展模块的需求分析;
HAproxy在线拓展模块的系统设计;
在线拓展模块的相关测试分析;
主要难点:
作为已经相当成熟的负载均衡软件,相关源码相当庞大,而且实现的功能,可配置的选项也很多,难于理解。
代码风格结构紧凑,函数调用关系极其复杂,加大了编程的难度;
相关文献较少,大多都是介绍如何使用,而很少有对HAproxy本身的工作原理的介绍;


论文文件预览:
共2文件夹,6个文件,文件总大小:1.48MB,压缩后大小:1.03MB

  • 毕业设计-负载均衡器设计与优化
  • 1091000262
  • doc1091000262-沈岩.doc  [1.46MB]
  • pdf1091000262_中期检查表.pdf  [3.54KB]
  • pdf1091000262_开题报告.pdf  [4.71KB]
  • pdf1091000262_成绩单.pdf  [2.25KB]
  • pdf1091000262_答辩记录单.pdf  [2.39KB]
  • pdf1091000262_进度报告.pdf  [8.63KB]

查看评论 已有0位网友发表了看法
  • 验证码: