分布式消息总线中消息代理的设计与仿真
发布时间:2017-09-29 01:02
本文关键词:分布式消息总线中消息代理的设计与仿真
【摘要】:传统的消息中间件由于其架构和设计思想,存在着单点失效和可扩展性差的问题。为了积极应对市场变化带来的各种机遇和挑战,企业要求应用系统规模更加动态,架构更加灵活,响应更加迅速。基于分布式架构的消息总线应运而生,它采用了去中心化的设计,消息服务由多台地位平等的节点组成的集群协作提供。但这样的消息系统面临着几方面的挑战:如何高效合理地分配多个节点的工作负载、如何保证消息不丢失、如何处理节点失效等。这样的系统实现起来十分复杂,并且需要大量的推理和验证。因此,对一个消息总线的核心组件消息代理中部分功能进行设计并仿真是一个具有较高研究价值和实际意义的课题,对实现一个完整的消息系统具有重大的指导意义。 本文根据对现有系统的研究和总结,提出了一种新的消息代理的设计方案,并基于NS2这种成熟的使用C++实现的仿真系统进行了仿真实现。其后,设计了几组场景对仿真系统进行测试,并完成了对测试结果的分析。 首先对现有的消息系统进行了分析,结合它们的优缺点和存在的挑战提出了消息代理的设计目标,包括灵活的负载均衡、保证消息不丢失以及高可用性。基于前述调研分析和设计目标,对各个目标提出具体的设计方案。负载均衡机制的设计包括以下几个部分:分割主题的所有权、对消息进行重排序、消息代理的工作负载的计算以及使用分布式协调服务。保证消息不丢失的设计主要借助于外部持久化服务。针对高可用性,则设计了消息代理的失效恢复机制。 接下来,本文根据设计方案设计了仿真消息系统的总体架构与系统中核心的数据结构,以及发布者、订阅者和消息代理三个模块之间交互的接口;分别对消息系统中的三个模块进行了详细设计,包括模块内部相关功能的具体流程设计;此外,还介绍了仿真系统的输入与输出数据的设计。在仿真系统的实现章节,本文给出了三个模块的核心算法设计与部分代码实现,并以文字的形式描述了消息的处理流程。 随后,本文展示了所设计的几组场景下整个仿真系统运行的结果与相关图表,阐述了分析之后得到的结论。最后,对作者在课题期间的工作成果进行了总结。
【关键词】:分布式 消息总线 消息代理 离散事件仿真
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP336;TP391.9
【目录】:
- 摘要4-6
- ABSTRACT6-10
- 第一章 绪论10-13
- 1.1 研究背景10-11
- 1.2 研究目的和意义11
- 1.3 课题研究内容及主要工作11-12
- 1.4 论文结构12-13
- 第二章 相关技术13-17
- 2.1 消息中间件13-15
- 2.1.1 系统架构模型13
- 2.1.2 消息传递模型13-14
- 2.1.3 发布订阅系统的分类14
- 2.1.4 通知模型14
- 2.1.5 实际系统介绍14-15
- 2.2 仿真系统介绍15-16
- 2.2.1 通用仿真系统15
- 2.2.2 NS2仿真系统15-16
- 2.3 本章小结16-17
- 第三章 消息代理的设计17-23
- 3.1 设计目标18
- 3.2 负载均衡18-21
- 3.2.1 主题所有权分割18-19
- 3.2.2 重排序19
- 3.2.3 消息代理的工作负载19-20
- 3.2.4 分布式协调服务20
- 3.2.5 算法描述20-21
- 3.3 消息状态的维护21-22
- 3.4 失效恢复22
- 3.5 本章小结22-23
- 第四章 消息代理仿真的设计与实现23-44
- 4.1 仿真设计23-30
- 4.1.1 系统整体结构23-24
- 4.1.2 数据结构24-25
- 4.1.3 模块接口设计25-26
- 4.1.4 发布者模块设计26-27
- 4.1.5 订阅者模块设计27-28
- 4.1.6 消息代理模块设计28
- 4.1.7 输入输出设计28-30
- 4.2 实现30-43
- 4.2.1 仿真环境30-31
- 4.2.2 数据结构的实现31-33
- 4.2.3 模块的实现33-41
- 4.2.4 仿真系统的运行41-43
- 4.3 本章小结43-44
- 第五章 消息代理的仿真实验与性能分析44-61
- 5.1 场景设计44-45
- 5.1.1 负载均衡44-45
- 5.1.2 失效恢复45
- 5.2 性能分析45-60
- 5.2.1 负载均衡46-59
- 5.2.2 失效恢复59-60
- 5.3 本章小结60-61
- 第六章 结语61-63
- 6.1 论文工作总结61
- 6.2 问题与展望61
- 6.3 研究生期间工作61-63
- 6.3.1 发表论文61
- 6.3.2 参与项目61-62
- 6.3.3 主要负责的工作62
- 6.3.4 提交文档62-63
- 参考文献63-64
- 致谢64-65
- 作者攻读学位期间发表的学术论文目录65
【参考文献】
中国期刊全文数据库 前1条
1 马建刚;黄涛;汪锦岭;徐罡;叶丹;;面向大规模分布式计算发布订阅系统核心技术[J];软件学报;2006年01期
,本文编号:939051
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/939051.html