当前位置:主页 > 科技论文 > 软件论文 >

基于Netty的消息中间件的研究与实现

发布时间:2020-11-02 23:51
   最近几年,由于信息技术和移动互联网行业的快速发展,全世界积累的用户等各方的数据量呈现指数级增长,大数据时代已经来临。这将不仅为科学研究领域带来巨大变革,也将深远地影响到未来生活的方方面面。现在,大型分布式大数据处理系统集群中的计算数据类型多种多样,根据其需求和计算方式,主要可以分成基于Hadoop的离线处理和基于Spark等的在线实时流数据处理。在线实时流数据处理主要针对该集群从前端获取的监控数据或爬虫等系统实时采集的数据,与离线数据处理不同的是,实时流数据处理的特点是是动态性、持续性。由于实时流数据的这些特征,大数据处理系统在分析和处理流数据时,必须分析数据流量,并根据其流量特征进行动态调整。因此,对于数据的实时处理能力成了评定该系统实时处理的关键指标。消息中间件可以对海量且复杂的数据进行存储和转发到相应的处理节点,正是这样对消息的储存和转发能力可以应对大数据处理中海量数据的需求。面对大数据时代下的消息中间件技术需求,本文旨在通过研究消息中间件涉及到的协议标准、分布式网络通信和网络I/O技术,从而基于Netty提出并实现具有高并发,高可靠特性并且负载均衡的分布式消息中间件系统。论文主要的工作有:1、为了实现该消息中间件的高并发,该消息中间件主要研究了基于事件驱动的Netty高性能网络编程框架的零拷贝技术,基于高性能网络编程框架Netty来设计和实现了网络层,主要包括通信协议。然后,并基于Netty实现通信服务端与基于Netty的通信客户端;2、为了实现系统消息可靠特性,Broker将消息持久化到硬盘。本文通过对比数据库和文件的持久化方案,将基于文件的持久化方案应用到该消息中间件,并提出了相应的实现方法;3、对应系统负载均衡特性的实现,该消息中间件通过两个方面来保证:Producer实现了根据消息内容和Broker数量均衡发送消息,Consumer实现的再平衡机制让Consumer与分区的动态平衡,达到负载均衡,降低Broker压力的目的。在完成基本的消息中间件设计的基础上,本文改进Nettyd通信模型,利用基于异步I/O模型的Java AIO来实现Netty的I/O部分。而在消息持久化方面,研究了持久化的各种方法,并提出了基于跳表索引的文件持久化方法。
【学位单位】:电子科技大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TP311.52
【文章目录】:
摘要
abstract
第一章 绪论
    1.1 消息中间件的背景与意义
    1.2 消息中间件的国内外研究历史与现状
        1.2.1 国外研究现状
        1.2.2 国内研究现状
    1.3 研究目标与内容
    1.4 本文的主要工作
    1.5 本论文的结构安排
第二章 相关技术
    2.1 消息中间件简介
        2.1.1 java消息服务
        2.1.2 高级消息协议
    2.2 分布式通信
        2.2.1 分布式网络通信技术
    2.3 网络I/O技术
        2.3.1 常见的网络I/O模型
        2.3.2 JavaBIO
        2.3.3 JavaNIO
        2.3.4 基于JavaNIO的事件分离模型
        2.3.5 基于Reactor的通信模型
        2.3.6 Reactor的改进模型
        2.3.7 Netty简介
    2.4 本章小结
第三章 消息中间件的研究
    3.1 通信模型
        3.1.1 通信模块的I/O模型
        3.1.2 基于AIO的通信模型
        3.1.3 通信层设计
        3.1.4 模型的测试与分析
    3.2 持久化研究
        3.2.1 持久化方法
        3.2.2 ActiveMQ持久化模型
        3.2.3 Broker的持久化模型
        3.2.4 文件的持久化形式
        3.2.5 文件持久化过程
        3.2.6 持久化的测试与分析
    3.3 本章小结
第四章 消息中间件的设计与实现
    4.1 整体设计
    4.2 各模块设计
        4.2.1 Produce设计
        4.2.2 Broker设计
        4.2.3 Consumer设计
        4.2.4 通信模块详细设计
    4.3 本章小结
第五章 测试与验证
    5.1 测试环境搭建
        5.1.1 测试环境
        5.1.2 测试工具
    5.2 功能测试
        5.2.1 系统结构
        5.2.2 功能测试步骤
    5.3 性能测试
        5.3.1 性能测试部署结构
        5.3.2 测试方法与结果
    5.4 本章小结
第六章 全文总结与展望
    6.1 全文总结
    6.2 后续工作展望
致谢
参考文献

【参考文献】

相关期刊论文 前9条

1 常正超;;高并发访问量下网络I/O模型选择的研究[J];电脑知识与技术;2016年19期

2 周建宁;徐晓东;蔡岗;;流式计算在交通管理中应用研究[J];中国公共安全(学术版);2016年01期

3 罗军;陈席林;李文生;;高效Key-Value持久化缓存系统的实现[J];计算机工程;2014年03期

4 赵杉;王若冰;李双斌;;中国数字科技馆集成方法研究[J];科技导报;2008年21期

5 李建峰;许舒人;马建刚;;面向大规模数据集成消息中间件系统设计实现[J];计算机工程与设计;2008年01期

6 张鹏伟;蔡国敏;陈景霞;;基于JMS的异步消息处理机制的研究与应用[J];陕西科技大学学报;2006年04期

7 马建刚;黄涛;汪锦岭;徐罡;叶丹;;面向大规模分布式计算发布订阅系统核心技术[J];软件学报;2006年01期

8 韦银星,张申生,周晓俊,曹健,黄越;企业应用集成技术研究[J];计算机集成制造系统-CIMS;2002年08期

9 万畅;蔡淮;邓虎成;;企业信息化建设中数据整合的应用研究[J];中国科技成果;2005年16期


相关硕士学位论文 前8条

1 牛牧;基于Kafka的大规模流数据分布式缓存与分析平台[D];吉林大学;2016年

2 崔晓旻;基于Netty的高可服务消息中间件的研究与实现[D];电子科技大学;2014年

3 高晓婷;基于AMQP的信息发布与订阅[D];浙江工业大学;2013年

4 陈席林;分布式持久化缓存系统的研究与实现[D];重庆大学;2013年

5 徐超;大型互联网公司分布式消息系统的设计与实施[D];复旦大学;2013年

6 卢鹏;基于JMS的消息中间件的轻量级设计与整合[D];西南交通大学;2010年

7 佟巍;基于设计模式的物资管理系统的研究与实现[D];大连理工大学;2009年

8 王伟;企业应用集成中智能消息中间件的设计与实现[D];哈尔滨理工大学;2009年



本文编号:2867766

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2867766.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户3142b***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com