原文链接: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就是这样的系统,并行计算是其关键技术之一,因而可以通过增加服务器部署规模,在内存计算的基础上,线性扩展性能。

12306采用Pivotal GemFire分布式解决方案 解决尖峰高流量并发相关推荐

  1. 12306采用Pivotal GemFire分布式解决方案 解决尖峰高流量并发问题

    中国铁路客户服务中心12306网站选择Pivotal GemFire分布式内存计算平台改造方案,根据系统运行数据记录,在只采用10几台X86服务器实现了以前数十台小型机的余票计算和查询能力,单次查询的 ...

  2. pivotal_Spring Data Pivotal Gemfire教程

    pivotal 1. Spring Data Pivotal Gemfire –简介 在这篇文章中,我们将介绍有关Spring Data Pivotal Gemfire的全面教程. Pivotal G ...

  3. Spring Data Pivotal Gemfire教程

    1. Spring Data Pivotal Gemfire –简介 在这篇文章中,我们将介绍有关Spring Data Pivotal Gemfire的全面教程. Pivotal Gemfire是由 ...

  4. 主流的分布式事务解决框架

    本文来说下现在主流的分布式事务解决框架 文章目录 主流的分布式事务解决框架 主流的分布式事务解决框架 LCN和Seata最大的区别在于回滚方式,LCN回滚是假关闭容易造成死锁,但是我们seata采用u ...

  5. 《深入理解分布式事务》第五章 强一致性分布式解决方案

    <深入理解分布式事务>第五章 强一致性分布式解决方案 文章目录 <深入理解分布式事务>第五章 强一致性分布式解决方案 一.强一致性事务概述 1.典型方案 2.适用场景 3.优缺 ...

  6. 分布式、高性能和高可用解决方案 (分布式)

    1 分布式 分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作.切记,分布式一定是存在网络分区的. 2 使用分布式需要解决哪些问题? 1)分布式 ID ...

  7. 分布式Ruby解决之道

    其实用Druby很久了,今天需要完成一个进程数据同步的机制,我需要的不是运行速度快,不是用 linux / mac 下的扩展,而是独立,快速开发效率,方便最简单的Ruby环境可运行,可以吗? DRb( ...

  8. 用分布式锁解决并发问题

    在系统中,当存在多个进程和线程可以改变某个共享数据时,就容易出现并发问题导致共享数据的不一致性.即多个进程同时获取到了对数据的操作权限并对数据进行了更新,很典型的场景就是在线销售系统在售卖热销商品时遇 ...

  9. Spring Cache使用Redisson分布式锁解决缓存击穿问题

    文章目录 1 什么是缓存击穿 2 为什么要使用分布式锁 3 什么是Redisson 4 Spring Boot集成Redisson 4.1 添加maven依赖 4.2 配置yml 4.3 配置Redi ...

最新文章

  1. 鲲鹏服务器光盘安装操作系统,鲲鹏服务器上安装
  2. 从《2018年全球创新指数报告》看中国创新力!
  3. python画简单图片-Python 画个图
  4. 【数据结构与算法】之深入解析“三数之和”的求解思路与算法示例
  5. 如何找到SAP Spartacus UI可以扩展的outlet
  6. c# 前导0_C#| 用前导零填充整数
  7. 《设计模式》模板设计方法——面条非常香
  8. bash获得相对路径的文件信息
  9. 年轻人如何抵抗居高不下的房价?
  10. gstreamer之RTSP Server test-mp4正确运行代码
  11. 附合导线坐标计算例题_闭合附合导线计算(课件例题)
  12. 【QT】QT字体详解
  13. 英特尔边缘软件中心介绍
  14. MER:高通量测序应用于病原体和害虫诊断——综述与实用性建议
  15. 工信部等三部委:推进区块链等新一代信息技术在养老场景集成应用
  16. 网页中怎样引导用户关注微信公众号
  17. 28. 尚融宝借款额度审核
  18. 让Windows XP也能自动登录
  19. 阿里云存储价格对象存储OSS、文件存储NAS和块存储收费标准
  20. html5 jquery 效果,精挑整理 8款HTML5/jQuery应用,高端大气上档次特效

热门文章

  1. 掌握五点,普通网站的优化不再是什么难事
  2. 抖音1元秒杀活动背后赚钱秘诀是什么? 怎么个玩法?
  3. Delphi7.0破解及常用三方控件的安装
  4. Matlab 计算年积日
  5. Android含资源文件引用的项目打包成jar包
  6. 超细节的javaWeb知识点总结
  7. PXI知多少?—PXI背景及PXI机箱
  8. python基础语法条件判断基础题训练
  9. 【js学习笔记-071】--- 浏览器和屏幕信息
  10. 股票突然出现断崖式下跌是什么原因?