论文部分内容阅读
在移动互联网时代,由于智能移动终端在计算能力和存储能力上的不足,移动应用往往需要借助云计算强大的数据处理能力。因此,云应用是目前移动互联网领域的主要发展趋势。同时,对信息的实时性要求较高也是许多移动应用的一个特点。因此,需要在客户端和云端之间建立一种良好的实时通信机制,来保证二者可以实时互联互通。XMPP是目前流行的一种基于TCP长连接、C/S架构的实时通信协议。XMPP起初是为即时通讯而设计的,得益于开放、可靠、易扩展等特点,XMPP在移动互联网领域也得到了广泛应用。但是,现有的XMPP服务器的往往存在性能问题,无法应对面向大规模用户的云应用的需求。 论文首先分析了现有XMPP服务器性能问题的两个主要原因:一是基于线程和锁的传统并发模型限制了XMPP服务器的并发能力和扩展能力,二是分布式消息路由算法的设计不够高效。针对这些问题,论文研究了高性能分布式XMPP服务器的关键技术:(1)提出了基于Actor模型设计XMPP服务器的方案,并以消息转发为例说明了将Actor模型应用在XMPP服务器的主要优势;(2)设计了一种基于一致性哈希的高效分布式消息路由算法,相比于现有XMPP服务器中的分布式路由算法,这种算法具有无中心、易扩展、效率高、容错性强等优点;(3)研究并实现了XMPP服务器集群运行机制中的几项关键技术,包含节点生命周期管理、节点状态同步、集群一致性维护算法,以及故障检测算法。 最后,论文在上述研究成果的基础上设计并实现了一个高性能分布式XMPP系统。并且针对系统的性能和容错性进行了多组实验,实验结果表明本文系统相比于现有XMPP服务器在性能上有显著提升,同时具备良好的容错性,可以适用于大规模高并发的消息通信场景。