学位论文 > 优秀研究生学位论文题录展示

基于Erlang的反向代理集群的设计与实现

作 者: 徐智
导 师: 韩宏
学 校: 电子科技大学
专 业: 信息与通信工程
关键词: Erlang 反向代理 负载均衡 缓存管理
分类号: TP393.05
类 型: 硕士论文
年 份: 2010年
下 载: 84次
引 用: 1次
阅 读: 论文下载
 

内容摘要


随着互联网的高速发展,用户访问量越来越大,单个Web服务器非常容易成为性能瓶颈。通过使用反向代理服务器组建服务器集群可以提高系统的性能,但是随着Web服务器的增多,单个反向代理服务器可能又成为新的瓶颈,所以需要组建反向代理服务器集群来解决这个问题。但是目前大多数的反向代理服务器组建集群时都是独立工作,无法共享调度信息和缓存信息,影响了集群的性能。本文首先研究了代理服务器相关背景技术,分析了超文本传输协议、Web缓存技术和服务器集群技术。然后介绍了Erlang语言和OTP系统,并基于Erlang/OTP提出一个用来构建高并发、高可用、合作式的反向代理服务器集群的EDRP(Erlang Distributed Reverse Proxy)系统。本文将详细介绍EDRP系统的设计与实现。EDRP系统主要由反向代理、负载调度、缓存管理三个模块组成。反向代理模块利用Erlang语言的超轻量级进程实现了一个基于阈值动态调整的进程池,从而能够处理高并发的用户连接。并且为了方便能够在处理请求和响应时进行扩展,还设计了模块化的过滤机制,可以通过添加缓存过滤器、安全过滤器来实现缓存管理和安全控制的功能,提高了系统的灵活性。然后,本文在分析和比较各种负载调度模型的优缺点之后,基于在所有代理服务器之间都共享调度信息的考虑,实现了合作式负载调度模型,并采用了集中式和分布式相结合的管理方式。集群中有一个主调度进程负责进行调度工作,其它的调度进程都是它的备份,这样既可以减少调度请求时的开销又可以避免单点故障的问题。负载调度模块中还实现了多种负载调度算法,可以满足各种不同的需求,并且还实现了负载调度算法的热切换机制,可以在运行时对负载调度算法进行动态切换。为了提高缓存副本的查找速度同时又不影响整个集群的可靠性,缓存管理模块采用了集中式管理和分布式管理相结合的单层式缓存体系结构,代理服务器之间可以共享缓存。缓存管理模块还实现了基于动态阈值自适应TTL机制和LRU-threshold策略分别来保证缓存的弱一致性和进行缓存替换。最后,通过并发性测试和可用性测试证明了EDRP系统的设计和实现达到了预期的目标。

全文目录


摘要  4-5
ABSTRACT  5-10
第一章 引言  10-15
  1.1 课题相关研究背景  10-12
  1.2 课题相关研究现状  12-13
  1.3 本文的工作和创新  13-14
  1.4 本文的内容和组织  14-15
第二章 相关技术概述  15-28
  2.1 HTTP 介绍  15-17
    2.1.1 报文格式  15-16
    2.1.2 持久连接  16
    2.1.3 缓存机制  16-17
  2.2 服务器集群技术  17-20
    2.2.1 集群技术概述  17-19
    2.2.2 LVS 集群技术  19-20
  2.3 WEB 缓存技术  20-27
    2.3.1 缓存一致性机制  21-23
    2.3.2 缓存替换策略  23-25
    2.3.3 缓存体系结构  25-27
  2.4 小结  27-28
第三章 集群总体设计  28-39
  3.1 ERLANG 介绍  28-30
  3.2 OTP 介绍  30-35
    3.2.1 OTP 的架构  30-32
    3.2.2 监督树  32-34
    3.2.3 Mnesia  34-35
  3.3 总体设计方案  35-36
    3.3.1 集群设计目标  35-36
    3.3.2 集群搭建策略  36
  3.4 EDRP 系统框架  36-38
  3.5 小结  38-39
第四章 EDRP 的设计  39-54
  4.1 反向代理模块的设计  39-43
    4.1.1 服务器并发模型  39-41
    4.1.2 进程池模型管理  41-42
    4.1.3 过滤机制的设计  42-43
  4.2 负载调度模块的设计  43-47
    4.2.1 负载调度的模型  43-46
    4.2.2 调度进程的同步  46
    4.2.3 后端状态的维护  46-47
  4.3 缓存管理模块的设计  47-53
    4.3.1 缓存管理的方式  47-49
    4.3.2 缓存信息的表示  49-50
    4.3.3 缓存信息的存储  50-52
    4.3.4 缓存信息的管理  52-53
  4.4 小结  53-54
第五章 EDRP 的实现  54-79
  5.1 反向代理模块的实现  54-63
    5.1.1 监听进程的工作  54-56
    5.1.2 接受进程的工作  56-57
    5.1.3 反向代理的流程  57-61
    5.1.4 过滤机制的实现  61-63
  5.2 负载调度模块的实现  63-70
    5.2.1 主调度进程的工作  64-65
    5.2.2 备份调度进程的工作  65-66
    5.2.3 负载调度的算法  66-68
    5.2.4 热切换算法机制  68-70
  5.3 缓存管理模块的实现  70-77
    5.3.1 缓存进程的工作  70-73
    5.3.2 过滤函数的流程  73-74
    5.3.3 副本的可缓存性  74-75
    5.3.4 缓存一致性机制  75-77
    5.3.5 缓存替换策略  77
  5.4 小结  77-79
第六章 系统测试分析  79-84
  6.1 并发性测试  79-81
    6.1.1 测试环境简介  79
    6.1.2 测试方法结果  79-81
  6.2 可用性测试  81-83
    6.2.1 测试环境简介  81
    6.2.2 节点故障测试  81-82
    6.2.3 进程故障测试  82-83
  6.3 小结  83-84
第七章 总结与展望  84-86
  7.1 论文总结  84
  7.2 进一步展望  84-86
致谢  86-87
参考文献  87-90

相似论文

  1. 可靠组播协议及其缓存管理研究,TP393.04
  2. 随机路由在无线传感器网络中的研究与应用,TN929.5
  3. 门槛分红策略下带两类索赔风险过程模型的研究,O211.67
  4. 高校教务管理网上选课系统优化研究,TP393.09
  5. 基于Linux集群系统的负载均衡算法研究及在Webgis中的应用,TP393.05
  6. LTE-A异构网络中的自组网技术研究,TN929.5
  7. 基于一种新经济模型的异构网络选择算法,TN929.5
  8. 基于QoS的无线Mesh网络路由协议及相关技术的研究,TN929.5
  9. 构建分布式系统的关键技术研究与实现,TP338.8
  10. 基于S2SH框架的雅砻江虚拟研究中心系统研究与设计,TP311.52
  11. 基于负载均衡的混合型应用层组播模型研究,TP393.02
  12. 异构网络联合接纳与切换控制技术研究,TN929.5
  13. 基于逻辑卷的分级存储系统设计与实现,TP333
  14. 虚拟环境中多网络接口卡I/O调度系统的研究,TP334.7
  15. RFID数据清洗处理策略与算法,TP391.44
  16. 基于分布式实时数据库的事务调度策略研究与改进,TP311.13
  17. 分布式内存数据库存储研究,TP311.13
  18. 负载均衡调度系统的设计与实现,TP393.02
  19. 基于CDN和P2P技术的混合流媒体内容分发机制研究,TN919.8
  20. 图像检索的并行计算方法与系统,TP391.3
  21. 并行与分布入侵检测技术研究,TP393.08

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 网络设备
© 2012 www.xueweilunwen.com