论文部分内容阅读
计算机网络的不断发展,即时通信软件在如今互联网中起着举足轻重的角色,网络在线交流已然成为一种时尚,越来越多的人已经离不开即时通信软件。与传统的通信方式比较,即时通信高效快速的交流方式跨越地理位置与不同类别的人传递消息,丰富了人类的生活方式与交流方法,扩展了人类交流空间。同时随着人们对即时通信的功能需求越来越多,很多即时通信软件已慢慢从单一化通信扩展成为混合多种复杂业务的集成化通信软件。然而为了满足用户更多需要,软件的核心已经开始偏离即时通信的核心,无论在消息的传输消费上、软件自身框架以及消息的可靠性上,即时通信软件均面临很多问题。在如今的即时通信行业当中,开源的即时通信系统一般用于企业内部的通信系统构建,或者只是提供一种普遍性的即时通信技术研究方案。面对商业化的即时通信系统,开源的即时通信框架在性能上、高并发上以及消息保障机制上均有很大的差距,但是商业化的即时通信系统并不是面向社区开源的,这就意味着系统自身具有很强的封闭性。外部的人员想要通过研究商业化的即时通信内部实现机制是非行困难的,或者对提出的方案在即时通信框架当中的验证也是不容易的。如何提供一种切实可行的即时通信方案,在满足高可用化的基础上,也能保证它的实用性与稳定性,这个问题既是本文所研究的问题来源。目前互联网上存在许多优秀的开源即时通信框架,一些即时通信软件的初始模型就是基于开源的即时通信框架改进优化而来。Openfire是一种开源的实时通信服务器框架,在Openfire的发展历程中,它曾一度成为开源实时通信的主流,但同时Openfire的弊端也不断成为其发展的阻碍,致使目前主流的即时通信软件均已经放弃使用Openfire。面对这种状况,文章论述了传统式模式下Openfire的优势以及面临的问题,同时也基于Openfire做出了一系列的技术改进。本文主要通过对Openfire服务器框架以及当前主流的即时通信软件陌陌的服务器框架分析研究以后,提出一种基于微服务的高可用通信框架。这种通信框架是基于Openfire的基础上进行一些列的研究改进,并且针对其中的消息处理模型以及协议和当前陌陌与微信的协议策略进行研究优化,最终提出一种基于微服务的高可用即时通信架构方案。