基于长连接的分布式消息推送系统设计与实现
发布时间:2021-10-04 22:28
随着智能手机、平板电脑和智能终端等多媒体终端的普及和4G的快速发展,无论是移动互联网还是智能家电等都对移动终端有迅猛发展的需求。基于移动终端的各种应用如雨后春笋般层出不穷,极大的影响了人们的生活习惯。基于长连接的分布式消息推送系统通过分析移动终端用户喜好给用户推送感兴趣的内容,能大大提高用户的活跃度、留存率,对发展用户和发展业务都有着不可替代的作用,因此成为了终端应用不可或缺的重要组成部分。然而由于安卓操作系统官方的消息推送机制C2DM有覆盖率偏低的缺陷,因此终端应用开发者需要自己开发推送系统。本论文“基于长连接的分布式消息推送系统”,是本人在国内某互联网企业实施的一个真实项目,在实习时通过对此实际项目的实践和分析,再此基础上做了大量的开发和优化工作。同时,论文引入了一致性哈希算法,保证了系统的动态扩容,以及设计了高效并且安全的加密方案,实现了多模块协同工作的分布式架构。本论文分析比较了常用的网络协议和网络通讯框架,采用JAVA NIO网络框架Netty实现了客户端和服务端的TCP通信信道长连接的建立,使用心跳检测的手段保障了通信通道的稳定性和可用性,采用开源数据序列化框架Protoc...
【文章来源】:西安石油大学陕西省
【文章页数】:56 页
【学位级别】:硕士
【部分图文】:
Java NIO 的工作方式
图 2-3 Netty 整体架构图功能特点的分析如下:1)丰富的缓冲Netty 本身具备很多优良的特性,可以更好的满足使用的需求,这些特性包户自定义缓冲的类型;内部的复合缓冲能实现零拷贝;具备动态的性能;在情况下,具备更高的响应速度。
如图 2-4 所示,以下是对各个组件的解释:Codis-proxy是客户端在连接的过程中,出现的Redis 代理服务,本身可以实现Redis的相关协议规定,因此在进行实际操作的时候和 Redis 至今并没有很大的区别,但是对于一个实际的业务来说,部署很多的 codis-proxy,codis-proxy 本身是没有什么意义的。Codis-config 是 Codis 的管理工具,在进行使用的过程中,可以方便的实现对节点
【参考文献】:
期刊论文
[1]数据加密技术在计算机网络信息安全中的应用[J]. 王健. 网络安全技术与应用. 2019(05)
[2]基于场景的软件测试用例设计方法研究[J]. 曹明,尹新. 科学技术创新. 2019(14)
[3]分布式系统中的日志分析及应用[J]. 陆杰,李丰,李炼. 高技术通讯. 2019(04)
[4]Dubbo的序列化协议扩展及其RPC协议Thrift的优化[J]. 翟成彤,董海峰. 智能计算机与应用. 2019(02)
[5]网络通信安全中数据加密技术的应用[J]. 蒋西明. 电子技术与软件工程. 2019(03)
[6]基于Netty的海量推送服务研究[J]. 赵星泽,纪占林. 计算机产品与流通. 2018(11)
[7]一种高效的Redis Cluster的分布式缓存系统[J]. 李翀,刘利娜,刘学敏,张士波. 计算机系统应用. 2018(10)
[8]基于分片一致性哈希负载均衡策略与应用[J]. 苏跃明,李晨,田丽华. 计算机技术与发展. 2017(11)
[9]基于Netty的面向移动终端的推送服务设计[J]. 代超,邓中亮. 软件. 2015(12)
[10]Android智能终端功能测试方法设计与系统实现[J]. 刘璐. 软件. 2014(12)
硕士论文
[1]分布式即时通信系统设计与实现[D]. 张鹏洋.北京化工大学 2018
[2]BRaft:一种拜占庭容错的Raft算法[D]. 李辰洋.华南理工大学 2018
[3]微服务通信框架的设计与实现[D]. 肖仲垚.北京交通大学 2017
[4]基于NIO的java高性能网络应用的技术研究[D]. 曾自强.北京邮电大学 2009
[5]Pushlet网络推技术研究及应用[D]. 丛红艺.吉林大学 2007
本文编号:3418454
【文章来源】:西安石油大学陕西省
【文章页数】:56 页
【学位级别】:硕士
【部分图文】:
Java NIO 的工作方式
图 2-3 Netty 整体架构图功能特点的分析如下:1)丰富的缓冲Netty 本身具备很多优良的特性,可以更好的满足使用的需求,这些特性包户自定义缓冲的类型;内部的复合缓冲能实现零拷贝;具备动态的性能;在情况下,具备更高的响应速度。
如图 2-4 所示,以下是对各个组件的解释:Codis-proxy是客户端在连接的过程中,出现的Redis 代理服务,本身可以实现Redis的相关协议规定,因此在进行实际操作的时候和 Redis 至今并没有很大的区别,但是对于一个实际的业务来说,部署很多的 codis-proxy,codis-proxy 本身是没有什么意义的。Codis-config 是 Codis 的管理工具,在进行使用的过程中,可以方便的实现对节点
【参考文献】:
期刊论文
[1]数据加密技术在计算机网络信息安全中的应用[J]. 王健. 网络安全技术与应用. 2019(05)
[2]基于场景的软件测试用例设计方法研究[J]. 曹明,尹新. 科学技术创新. 2019(14)
[3]分布式系统中的日志分析及应用[J]. 陆杰,李丰,李炼. 高技术通讯. 2019(04)
[4]Dubbo的序列化协议扩展及其RPC协议Thrift的优化[J]. 翟成彤,董海峰. 智能计算机与应用. 2019(02)
[5]网络通信安全中数据加密技术的应用[J]. 蒋西明. 电子技术与软件工程. 2019(03)
[6]基于Netty的海量推送服务研究[J]. 赵星泽,纪占林. 计算机产品与流通. 2018(11)
[7]一种高效的Redis Cluster的分布式缓存系统[J]. 李翀,刘利娜,刘学敏,张士波. 计算机系统应用. 2018(10)
[8]基于分片一致性哈希负载均衡策略与应用[J]. 苏跃明,李晨,田丽华. 计算机技术与发展. 2017(11)
[9]基于Netty的面向移动终端的推送服务设计[J]. 代超,邓中亮. 软件. 2015(12)
[10]Android智能终端功能测试方法设计与系统实现[J]. 刘璐. 软件. 2014(12)
硕士论文
[1]分布式即时通信系统设计与实现[D]. 张鹏洋.北京化工大学 2018
[2]BRaft:一种拜占庭容错的Raft算法[D]. 李辰洋.华南理工大学 2018
[3]微服务通信框架的设计与实现[D]. 肖仲垚.北京交通大学 2017
[4]基于NIO的java高性能网络应用的技术研究[D]. 曾自强.北京邮电大学 2009
[5]Pushlet网络推技术研究及应用[D]. 丛红艺.吉林大学 2007
本文编号:3418454
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3418454.html