基于ZooKeeper的分布式系统的消息发送机制的设计与实现
本文关键词:基于ZooKeeper的分布式系统的消息发送机制的设计与实现
更多相关文章: ZooKeeper 消息发送 消息队列 分布式 分发进程
【摘要】:随着计算机系统规模的日益发展,将所有的业务单元集中部署在一个或若干个大型机上的体系结构已经逐渐不能满足快速发展的计算机系统的需求。将一个硬件或软件组织部署在位于不同网络的计算机上,并通过消息传递进行通信和协调的分布式系统[19]的出现,解决了由于系统规模增大带来的问题。ZooKeeper是当下比较流行的分布式结构之一,它是一个开放源码的分布式应用程序协调服务。在分布式集群中,消息是各种数据的载体,主要通过消息队列、发送进程来实现批量发送。同样的,在ZooKeeper集群中,消息也是最基本的交互单元,不仅能够完成集群内的相关操作,同时能够通过消息队列、分发进程将消息向外传递。本文提出的基于ZooKeeper相关分布式技术实现的消息发送机制,可以满足在一些应用场景下,来自各个机房的应用系统的消息在发送到统一消息接收方时,保持全局有序性。该机制用于接收来自上游客户端的消息,对接收到的消息根据消息IP地址进行过滤,将来自不属于机器列表文件中的机器的消息进行屏蔽,从而提高消息发送机制的处理效率,减少由于人为或其他因素造成的异常消息。在接收到有效的消息后,消息发送机制根据消息中携带的消息类型,将消息放入对应的消息队列中,从而触发消息发送进程,将消息队列中的消息发送到指定的下游客户端中,发送的同时,根据客户端的接收情况,将消息本身所携带的内容以及消息发送状态存入到Redis数据库中,以便能够根据对消息的发送状态进行查询。在消息发送机制中,下游客户端无从知晓消息的真实发送方,当需要查询数据来源时,可以通过Redis数据库对消息的发送方进行反向查找。在本文提出的消息发送机制中,根据ZooKeeper在多线程访问节点时,只有唯一一个线程能够访问节点的特性以及临时顺序节点的顺序性,提出了写锁优先的文件锁,满足了在实际应用中对于机器列表文件的写操作优先于读操作的需求,同时也保证了并发情况下机器列表文件的安全性;消息发送机制中,根据临时顺序节点的顺序性与临时性实现了FIFO消息队列,满足了消息的全局性,还保证消息快速发送的同时,减少消息节点对内存的占用;根据Master-Worker并行模式的设计原理实现了Master-Worker消息分发进程,实现多个消息队列中消息的实时并发,提高了消息发送的效率。
【关键词】:ZooKeeper 消息发送 消息队列 分布式 分发进程
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.52
【目录】:
- 摘要4-6
- Abstract6-11
- 第1章 绪论11-16
- 1.1 研究背景与意义11-12
- 1.2 国内外研究现状12-13
- 1.3 课题研究内容与特色13
- 1.4 本文工作13-14
- 1.5 论文结构14-16
- 第2章 相关技术16-26
- 2.1 Chubby锁服务16-17
- 2.2 Redis数据库17-18
- 2.3 Master-Worker模式18
- 2.4 ZooKeeper服务18-26
- 2.4.1 ZooKeeper设计原理19-20
- 2.4.2 ZooKeeper数据模型20-21
- 2.4.3 ZooKeeper分布式锁服务21-23
- 2.4.4 ZooKeeper分布式队列23-26
- 第3章 具有过滤功能的消息接收26-38
- 3.1 相关数据操作对象的定义26-28
- 3.1.1 消息的定义26-27
- 3.1.2 机器文件列表的定义27-28
- 3.2 消息过滤功能的设计与实现28-30
- 3.2.1 消息过滤功能的设计29
- 3.2.2 消息过滤功能的实现29-30
- 3.3 写优先的文件锁30-35
- 3.3.1 锁的类型与定义31
- 3.3.2 文件锁的设计与实现31-35
- 3.4 消息队列35-38
- 3.4.1 消息队列的定义36
- 3.4.2 消息队列的创建36-37
- 3.4.3 消息的入队操作37-38
- 第4章 基于Master-Worker模式的消息发送38-43
- 4.1 Master-Worker消息分发进程38-40
- 4.1.1 Master进程38-39
- 4.1.2 Worker进程39-40
- 4.2 基于ServerSocket的消息传输40-42
- 4.2.1 IP地址的查询40-41
- 4.2.2 消息的传输41-42
- 4.3 消息发送状态的存储42-43
- 第5章 实验43-53
- 5.1 实验环境43-44
- 5.1.1 硬件环境43
- 5.1.2 软件环境43-44
- 5.2 性能测试44-53
- 5.2.1 消息队列性能44-45
- 5.2.2 文件锁性能45-49
- 5.2.3 消息过滤性能49-50
- 5.2.4 发送机制性能50-53
- 第6章 总结与展望53-54
- 参考文献54-56
- 致谢56
【相似文献】
中国期刊全文数据库 前10条
1 沈晖;短消息的新武器[J];中国计算机用户;2002年28期
2 空中来客;老机也疯狂──短消息与电话本[J];数字通信;2001年03期
3 FF;;不让QQ显示发送消息时间[J];电脑迷;2005年11期
4 张漫,李冰,梁吉胜,王永安;基于Delphi中消息的处理及应用[J];煤矿机械;2005年04期
5 何腾蛟;吴跃;;基于JavaScript的消息管理机制[J];计算机应用;2009年S1期
6 JOSH NOSSITER ,宋艳萍;快速发送消息的灵活性[J];今日电子;1996年06期
7 钱少先;Windows下消息循环及运行机制[J];安庆师范学院学报(自然科学版);1997年02期
8 ;Sms(短消息)网上发[J];数字生活;2001年03期
9 ;通过Internet网发送移动短消息[J];邮电商情;2001年07期
10 竹子兰;;“甜似蜜”蜂房小技巧(之网络秘技篇)[J];电脑应用文萃;2002年12期
中国重要会议论文全文数据库 前8条
1 时金桥;秦宝山;;MIX消息刷新策略的研究[A];全国网络与信息安全技术研讨会论文集(下册)[C];2007年
2 张国才;;JMS下共享消息通道的通信模式设计[A];全国第16届计算机科学与技术应用(CACIS)学术会议论文集[C];2004年
3 吴艳;;下一代移动消息业务-MMS[A];2002’中国通信学会无线及移动通信委员会学术年会论文集[C];2002年
4 冯昊;李双庆;;Web Services中SOAP消息的安全研究与对策[A];2008年计算机应用技术交流会论文集[C];2008年
5 王燕;徐振朋;曹刘娟;;一种具有最小阻塞消息发送时间的检查点策略[A];第四届中国测试学术会议论文集[C];2006年
6 左克;王怀民;刘必欣;周斌;;基于MOM技术的Web Services异步性的研究[A];第二十届全国数据库学术会议论文集(技术报告篇)[C];2003年
7 聂丽;舒跃国;;军用CDMA短消息综合接入平台[A];四川省通信学会2008年学术年会论文集[C];2008年
8 曹登峰;;基于CMPP 2.1协议 实现与ISMG连接——建立互联网气象短消息增值服务平台的基础[A];首届长三角气象科技论坛论文集[C];2004年
中国重要报纸全文数据库 前10条
1 ;他们欢迎无线垃圾消息?[N];网络世界;2005年
2 张煜;移动短信热全球[N];通信产业报;2002年
3 胡祝;短消息瞄准企业用户[N];电脑报;2001年
4 马;无线短消息跨网络[N];中国计算机报;2001年
5 上海西门子移动通信有限公司 柏依丽;西门子多媒体消息解决方案[N];人民邮电;2003年
6 浦明辉;中文短消息免费发[N];中国计算机报;2002年
7 宋献涛 叶惠敏;短消息为什么这样红?[N];计算机世界;2001年
8 南靖移动通信分公司 蔡舜乾;上网发送短消息[N];福建邮电报;2000年
9 春辉;固定网短消息将成市场热点[N];人民邮电;2001年
10 ;多媒体消息的基本业务特征[N];人民邮电;2002年
中国博士学位论文全文数据库 前4条
1 张小明;基于分布对象的异步消息的研究与实现[D];中国人民解放军国防科学技术大学;2001年
2 王乐;短语消息聚类相关技术研究[D];国防科学技术大学;2008年
3 王红;移动agent关键技术研究[D];中国科学院研究生院(计算技术研究所);2002年
4 华东明;安全协议的形式化方法及其应用的研究[D];中国科学院研究生院(计算技术研究所);2005年
中国硕士学位论文全文数据库 前10条
1 罗达诗;面向演化的程序设计语言[D];兰州大学;2015年
2 段东亮;面向视频监控系统的云存储运维系统的设计与实现[D];浙江工业大学;2015年
3 刘啸宇;基于SIP移动问诊系统信令控制的研究与实现[D];北京交通大学;2016年
4 李康杰;VTOS形式化验证框架与VTOS消息模块的验证[D];南京大学;2013年
5 郭雯宇;基于parlay X的手机报能力开放的设计与实现[D];东南大学;2015年
6 李炳介;基于SIP协议的企业内部即时通信消息模块设计[D];海南大学;2016年
7 吴挺;基于微信公众平台的可扩展架构研究与实现[D];兰州大学;2016年
8 李从东;基于信誉与信任的车联网消息传播方案评估研究[D];安徽大学;2016年
9 耿云飞;融合通信消息引擎的设计与实现[D];中国科学院研究生院(沈阳计算技术研究所);2016年
10 侯晋;基于微信的企业信息交互技术研究与实现[D];长春工业大学;2016年
,本文编号:846228
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/846228.html