问题指南:1、什么是GemFire分布式内存数据技术?2、12306票务网站如何实现访问?
概述:背景和需求中国铁路客户服务中心()的网站是世界上最大的实时交易系统之一。与此相比。在假期期间,尤其是在春节期间的高峰访问期间,该网站承受着巨大的压力。据统计,在2012年初春节旅游旺季,每天有2000万人次访问该网站,日访问量达到14亿次。同时,大量的网络访问涌入使12306几乎瘫痪。中国铁道科学研究院电子计算技术研究所作为12306互联网售票系统的承包商,迫切需要找到解决该问题的方法。成功解决:速度提高了75倍以上

从2012年3月开始,铁路公司(原铁道部)开始调查和改造12306.2012年6月,选择了Pivotal GemFire分布式内存计算来改造12306.项目团队负责人王明哲和子拓宏宇(IISI)信息技术在铁道科学研究院院长朱建生的领导下提供了技术实施。在第一阶段,首先转换了12306的主要瓶颈,即剩余的票证查询系统。该代码转换已于9月完成,并且该系统上线了。 2012年国庆节是预订的高峰期。您可以清楚地发现您可以登录12306。尽管仍然很难预订票,但是非常快速地检查剩余的票。 2012年10月,第二阶段使用GemFire改造了订单查询系统(客户查询自己的订单记录)。在2013年春节期间,这是预订的高峰期。您可以清楚地发现您可以登录12306。尽管仍然很难预订票,但是它可以非常快速地检查剩余的票,并检查您自己的预订和下订单。根据系统运行数据记录,技术改造后,仅使用了几十台X86服务器就可以实现以前几十台小型机的剩余票务计算和查询功能。单个查询的最长时间从之前的约15秒减少到0.不到2秒,缩短了75倍以上。在2012年春节期间的高流量并发下,该系统几乎瘫痪了。转换后,它每秒支持数万个并发查询,在高峰时段达到2.60,000个查询/秒的吞吐量,并且整体系统效率得到显着提高。如图1所示。在转换之前的系统操作模式下,顺序查询系统转换只能支持每秒每秒300-400个查询的吞吐量,而高流量并发查询只能通过子来实现。转换后,可以实现每秒高达数万个查询的吞吐量,并且可以将查询速度保证在约20毫秒。新的技术体系结构可以根据需要灵活动态地扩展,并且当并发量增加时,还可以通过动态添加X86服务器来响应,以保持毫秒级的响应时间。在梦想中寻找它:技术革命可以在12306的三代产品中一步实现这种翻天覆地的效果。不可能依靠技术上的小修。必须有一个全新的想法可以为性能改进带来影响。 12306发现GemFire分布式内存数据平台就是这样的技术。

GemFire分布式内存数据平台的技术原理如上图所示:通过云计算平台虚拟化技术,几台X86服务器的内存被集中形成一个高达数十TB的内存资源池,并将所有数据加载到内存中,执行内存计算。计算过程本身不需要读取或写入磁盘,而是定期将数据同步或异步地写入磁盘。 GemFire将数据的多个副本存储在分布式集群中。如果任何计算机出现故障,则其他计算机上都有备份数据,因此通常不必担心数据丢失,并且有磁盘数据作为备份。 GemFire支持将内存数据持久保存到各种传统关系,Hadoop库和其他文件系统中。

众所周知,当前计算体系结构的瓶颈是存储。根据摩尔定律,处理器的速度增加了一倍,而磁盘存储的速度却缓慢增加,从而导致高达100,000倍的巨大差距(如上所示)。这样,很容易理解GemFire为什么可以大大提高系统性能。根据计算和存储之间的关系,我们可以将计算体系结构分为四代:第一代,一个基于磁盘的系统:在计算过程中需要从磁盘读取数据。小型机和大型机是最好的,可实现单个系统的最终性能。第二代,基于磁盘的分布式集群系统:在计算过程中需要从磁盘读取数据,但数据会通过分布式系统分发到不同的服务器磁盘,以提高整个系统的处理能力。目前,许多大型的互联网和电子商务公司都采用基于X86服务器的分布式集群系统,并依靠X86服务器的部署来解决高流量并发的问题。第三代,基于单个内存的系统:将整个放入内存中,并且计算过程不需要从磁盘读取数据。整个系统的性能取决于单个系统的性能。传统的内存就是这样一种系统,可以很好地解决企业级应用程序的访问速度问题,但是面对海量数据或海量并发访问的可伸缩性问题,它什么也做不了。第四代基于内存的分布式集群系统:GemFire就是这样的系统。并行计算是其关键技术之一。因此,通过增加服务器部署的规模,可以在内存计算的基础上线性扩展性能。

在12306之前,采用了Unix小型计算机体系结构,并且使用GemFire技术改造了Linux / X86服务器集群体系结构,这意味着它将跨越三代。从小型机到大型X86服务器群集,性能不仅提高了一个数量级,而且成本也大大降低。 GemFire是Pivotal企业级大数据PaaS平台的一部分。 Pivotal的企业级大数据PaaS平台具有三个主要级别:Cloud Fabric,大数据基础架构以及Application Fabric,应用程序开发基础架构。 GemFire属于大数据基础架构层。另外,Greenplum也属于这一层。云基础设施层的技术是Cloud Foundry;应用程序开发基础架构层的技术是Spring Framework和RabbitMQ。关于引进GemFire技术的转变,中国铁道科学研究院电子计算技术研究所副所长朱建生表示:``通过技术改造,尖峰并发和高流量的问题困扰我们很长一段时间的问题已经解决,使该国人民不再因技术原因而抱怨了,我们终于松了一口气.Pivotal GemFire分布式集群内存数据技术发挥了关键作用同时,在Pivotal及其实施者的项目团队的努力下,要确保旧系统的平稳运行,旧系统向新系统的平稳迁移以及快速实施新系统。”
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-342283-1.html
烊烊加油