论文部分内容阅读
互联网的快速发展对交易系统的要求越来越高,低延迟和高可用性已经成为衡量一个交易系统的重要指标。交易系统不仅需要满足数据的一致性和完整性,而且还要考虑交易延迟对用户体验的重要影响。同时,交易系统对数据的实时分析也是 IT厂商关注的重点问题。如何对海量的结构化数据和非结构化数据做实时分析,如何保证交易数据的稳定性,是大数据时代的共同挑战。 本文先介绍交易系统延迟相关的各个技术:网络技术、联机事务处理系统和联机分析处理系统。网络技术中重点对比了万兆以太网和 Infiniband,万兆以太网是应用于高层网络通信(比如TCP/IP)的技术,传输距离很远,而InfiniBand传输距离很近,是用于底层输入/输出通信的技术,可用来提高服务器端输入/输出的性能。交易系统是典型的联机事务处理系统,联机事务处理系统也称为实时系统,因为它的重要特点就是快速响应客户请求,即实时性高。响应时间就是衡量一个联机事务处理系统的重要指标。交易产生的数据处理,是基于一个分布式系统上的数据管理技术,也称为联系分析处理技术,在云计算和大数据快速发展的今天,Hadoop成为主流的框架平台。而Google在2010年发布新的信息查询技术Dremel,可以实现3秒内查询1PB数据。 针对实时交易系统和实时数据处理系统,本文设计了整体的系统框架,并针对各个模块进行了详细的介绍。在实时交易系统中,重点解决系统的低延迟和容错能力,提出了基于Paxos算法的内存复制解决方案。在实时数据处理系统中,运用Hadoop架构技术进行部署,Hadoop是一个在大型集群设备上部署分布式系统的应用框架,由 HDFS和MapReduce两部分组成;同时介绍了最新的数据处理技术Dremel,可对存储在HDFS内和MapReduce产生的结果集进行处理。系统整体部署中用到的核心技术有Paxos算法,Hadoop架构技术和Dremel数据处理技术。由于Hadoop架构技术比较成熟,只对其做了简单的阐述,Dremel数据处理技术中,详细地介绍了它的工作原理和优势。重点介绍核心的Paxos算法。 目前联机事务处理系统均采用主备机日志复制的方式来保证系统的高可用性,其中的重点就是复制技术,而复制技术的关键是如何解决数据的一致性问题。Paxos算法正是解决这个问题的关键。本文对Paxos算法的基本概念和三个阶段进行了详细的介绍,并使用驻留内存和异步持久化的方式,降低了系统延迟。并对基于Paxos算法的交易系统进行原型设计,阐述了详细的框架设计,并通过实验数据对可行性进行了分析。