原文链接:http://soft.zdnet.com.cn/software_zone/2013/1230/3007113.shtml
ZDNet至顶网软件频道消息: 中国铁路客户服务中心网站www.12306.cn是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大。2012年6月选择了Pivotal GemFire分布式内存计算平台(Distributed In-memory computing)改造12306,由铁科院项目小组负责人王明哲主任和资拓宏宇(IISI)信息科技有限公司在铁科院主管朱建生所长领导下提供技术实施。
GemFire是Pivotal企业级大数据PaaS平台的一部分。Pivotal公司的企业级大数据PaaS平台主要有三个层次:云基础架构层 Cloud Fabric、大数据基础架构层Data Fabric、应用开发基础架构层Application Fabric。GemFire属于大数据基础架构层,此外,Greenplum数据库也属于这一层;云基础架构层的技术是Cloud Foundry;应用开发基础架构层的技术是Spring Framework和RabbitMQ等。
12306之前采用Unix小型机架构,采用GemFire技术改造成Linux/X86服务器集群架构,就意味着一下跨越三代。从小型机到大内存X86服务器集群,不仅让性能提升了一个数量级,而且成本也要低得多。
2012年3月开始,铁路总公司(原铁道部)开始调研、改造12306。2012年6月选择了Pivotal GemFire分布式内存计算平台(Distributed In-memory computing)改造12306,一期先改造12306的主要瓶颈——余票查询系统。9月份完成代码改造,系统上线。2012年国庆,又是网上订票高峰期间,大家可以显著发现,可以登录12306,虽然还是很难订票,但是查询余票很快。2012年10月份,二期用 GemFire改造订单查询系统(客户查询自己的订单记录)。2013年春节,又是网上订票高峰期间,大家可以显著发现,可以登录12306,虽然还是很难订票,但是查询余票很快,而且查询自己的订票和下订单也很快。
中国铁道科学研究院电子计算技术研究所副所长朱建生表示,“通过技术改造解决了困扰我们多时的尖峰高流量并发问题,让全国人民不再因为技术原因而抱怨,我们终于舒了一口气。Pivotal GemFire分布式集群内存数据技术对整个技术改造发挥了关键的作用。同时,感谢Pivotal公司及其实施方项目团队的努力,在技术开改造过程中确保旧系统顺畅运行、旧系统到新系统平滑迁移,快速实现新系统的上线。”
据统计, 在2012年初的春运高峰期间,每天有2000万人访问12306网站,日点击量最高达到14亿。大量同时涌入的网络访问造成12306几近瘫痪。 中国铁道科学院电子计算技术研究所作为12306互联网购票系统的承建单位,急需寻求办法解决问题。
根据系统运行数据记录,技术改造之后,在只采用10几台X86服务器实现了以前数十台小型机的余票计算和查询能力,单次查询的最长时间从之前的15秒左右下降到0.2秒以下,缩短了75倍以上。2012年春运的极端高流量并发情况下,系统几近瘫痪。而在改造之后,支持每秒上万次的并发查询,高峰期间达到2.6万个查询/秒吞吐量,整个系统效率显著提高。如上图所示。
订单查询系统改造,在改造之前的系统运行模式下,每秒只能支持300-400个查询/秒的吞吐量,高流量的并发查询只能通过分库来实现。改造之后,可以实现高达上万个查询/秒的吞吐量,而且查询速度可以保障在20毫秒左右。
新的技术架构可以按需弹性动态扩展,并发量增加时,还可以通过动态增加X86服务器来应对,保持毫秒级的响应时间。
12306能够取得这样翻天覆地的效果,靠技术上的小修小补是不可能的,必须有全新的思路,能够给性能提升带来杠杆式的作用。12306发现GemFire分布式内存数据平台就是这样一种技术。
GemFire分布式内存数据平台的技术原理如上图所示:通过云计算平台虚拟化技术,将若干X86服务器的内存集中起来,组成最高可达数十TB的内存资源池,将全部数据加载到内存中,进行内存计算。计算过程本身不需要读写磁盘,只是定期将数据同步或异步方式写到磁盘。GemFire在分布式集群中保存了多份数据,任何一台机器故障,其它机器上还有备份数据,因此通常不用担心数据丢失,而且有磁盘数据作为备份。GemFire支持把内存数据持久化到各种传统的关系数据库、Hadoop库和其它文件系统中。
大家知道,当前计算架构的瓶颈在存储,处理器的速度按照摩尔定律翻番增长,而磁盘存储的速度增长很缓慢,由此造成巨大高达10万倍的差距。这样就很好理解GemFire为什么能够大幅提高系统性能了。
按照计算与存储的关系,我们可以将计算架构分为四代:
第一代,基于磁盘的单一系统:计算过程中需要从磁盘读取数据。小型机、大型机是其中的佼佼者,将单一系统的性能做到极致。
第二代,基于磁盘的分布式集群系统:计算过程中需要从磁盘读取数据,但通过分布系统将数据分散到不同的服务器磁盘上,提高整个系统的处理能力。目前很多大型互联网和电子商务公司采用基于X86服务器的分布式集群系统,依靠海量的X86服务器部署解决高流量并发的问题。
第三代,基于内存的单一系统:将整个数据库放在内存中,计算过程不需要从磁盘读取数据。整个系统的性能取决于单一系统的性能。传统的内存数据库就是这样的系统,对于企业级的应用可以很好地解决访问速度的问题,但面对海量数据或是海量并发访问的扩展性问题就无能为力。
第四代,基于内存的分布式集群系统:GemFire就是这样的系统,并行计算是其关键技术之一,因而可以通过增加服务器部署规模,在内存计算的基础上,线性扩展性能。
相关推荐
Pivotal_GemFire Pivotal_GemFire Pivotal_GemFire Pivotal_GemFire
Pivotal Gemfire 9.3 文档
Spring Data for Pivotal GemFire项目的主要目标是简化使用作为底层分布式内存数据管理平台来构建高度可扩展的Spring支持的应用程序的过程。 特征 XML名称空间,用于地 批注模型可 简化 附加支持 增强了对Pivotal ...
springboot-gemfire相关jar文件。版本为:9.1.1 。在Pivotal网站下载不了,所以就通过maven生成了共享出来。
此文件夹结构包含用于构建具有 1 个定位器和 2 个或更多服务器进程的 Pivotal GemFire XD 集群的 Dockerfile。 结构: 有4个文件夹。 gfxd-base - 这是在 CentOS 映像上构建并在映像上安装 Gemfire XD 二进制文件...
1.安装 java se 1.8(jdk-8u111-...3.按http://gemfire.docs.pivotal.io/docs-gemfire/latest/getting_started/15_minute_quickstart_gfsh.html#topic_FE3F28ED18E145F787431EC87B676A76 上进行操作 4.打开REST 格式 ...
Pivotal-Cloud-Foundry-PaaS 云解决方案 目录 Paas和IaaS的区别和PaaS价值 CloudFoundry的设计目标、原理 CloudFoundry支持的敏捷开发 企业私有云解决的问题和建设价值 CloudFoundry的功能架构 CloudFoundry的应用...
该存储库描述了Pivotal GemFire的动手实验。 先决条件 在开始之前,请验证您是否满足先决条件: 确认您已经安装了受支持的Java版本。 有关支持的Java版本,请参见。 安装和配置Pivotal GemFire及其产品示例。 根据...
运行 tar 命令: tar -cf Pivotal_GemFire_800_b48398_Linux_min.tar Pivotal_GemFire_800_b48398_Linux_min/ 上面的 tar 文件现在可用于构建基础镜像:将其复制到 gemfire-base 目录中 首先构建一个基础镜像...
本次会议的重点是通过使用Spring Data GemFire使开发人员与Pivotal GemFire保持同步并提高生产力。 该内容适用于新手和经验丰富的GemFire用户,并展示了将两种技术一起用于高效,高效地开发高吞吐量,低延迟和可...
一、CRM理论概述2 1.问题的提出2 2.问题的解决方案3 3. CRM概念3 4. CRM的发展和现状4 5.CRM系统在企业应用系统中...2.选择Pivotal Relationship解决方案39 3.选择东大阿尔派作为CRM方案提供商39
Prepare for the Pivotal Certified Spring Web Application Developer exam and learn about Spring MVC DispatcherServlet configuration, Spring MVC programming model essentials, Spring MVC views and form ...
Pivotal 研发总监姚延栋《开源大数据引擎:分布式Greenplum数据库内核分析》
12306混合云成功案例给予最大的启发就是打造一个从下到上都可做弹性扩展的“云应用”系统,企业客户可将关键业务的“子系统”部署在资源丰富的云计算数据中心,“云化”后的子系统可“按需”获取所需要的服务器虚机...
Pass the Pivotal Certified Professional exam using source code examples, study summaries, and mock exams. In this book, you’ll find a descriptive overview of certification-related Spring modules and ...
Pivotal Certified Professional Spring Developer Exam Guide
Pivotal PaaS模式研究
> - 消息丢失,消息重复问题: RabbitMQ针对消息的持久化,和重复问题都有比较成熟的解决方案。 > - 学习成本:RabbitMQ非常简单。 > > RabbitMQ是由Rabbit公司去研发和维护的,最终是在Pivotal,由Erlang语言开发...
Prepare with confidence for the Pivotal Enterprise Integration with Spring Exam. One of the important aspects of this book is a focus on new and modern abstractions provided by Spring. Therefore ...
greenplum java 驱动。版本:5.1.4. greenplum官方的驱动。 greenplum是postgresql集群支持。