海子铁路网

 找回密码
 注册进站

QQ登录

只需一步,快速开始

查看: 3815|回复: 18

12306新版的系统架构——上次有人说没什么新意,那就看看后端吧

[复制链接]
发表于 2013-12-29 19:15:46 | 显示全部楼层 |阅读模式
本帖最后由 东北胖子 于 2013-12-29 19:18 编辑

12306:分布式内存数据技术为查询提速75倍

背景和需求
  中国铁路客户服务中心网站(www.12306.cn)是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大。据统计, 在2012年初的春运高峰期间,每天有2000万人访问该网站,日点击量最高达到14亿。大量同时涌入的网络访问造成12306几近瘫痪。 中国铁道科学院电子计算技术研究所作为12306互联网购票系统的承建单位,急需寻求办法解决问题。
  成功解决:速度提高75倍以上
E6QI70880MGG.png
  2012年3月开始,铁路总公司(原铁道部)开始调研、改造12306。2012年6月选择了Pivotal GemFire分布式内存计算平台(Distributed In-memory computing)改造12306,由铁科院项目小组负责人王明哲主任和资拓宏宇(IISI)信息科技有限公司在铁科院主管朱建生所长领导下提供技术实施。一期先改造12306的主要瓶颈——余票查询系统。9月份完成代码改造,系统上线。2012年国庆,又是网上订票高峰期间,大家可以显著发现,可以登录12306,虽然还是很难订票,但是查询余票很快。2012年10月份,二期用GemFire改造订单查询系统(客户查询自己的订单记录)。2013年春节,又是网上订票高峰期间,大家可以显著发现,可以登录12306,虽然还是很难订票,但是查询余票很快,而且查询自己的订票和下订单也很快。
  根据系统运行数据记录,技术改造之后,在只采用10几台X86服务器实现了以前数十台小型机的余票计算和查询能力,单次查询的最长时间从之前的15秒左右下降到0.2秒以下,缩短了75倍以上。2012年春运的极端高流量并发情况下,系统几近瘫痪。而在改造之后,支持每秒上万次的并发查询,高峰期间达到2.6万个查询/秒吞吐量,整个系统效率显著提高。如上图所示。
  订单查询系统改造,在改造之前的系统运行模式下,每秒只能支持300-400个查询/秒的吞吐量,高流量的并发查询只能通过分库来实现。改造之后,可以实现高达上万个查询/秒的吞吐量,而且查询速度可以保障在20毫秒左右。
  新的技术架构可以按需弹性动态扩展,并发量增加时,还可以通过动态增加X86服务器来应对,保持毫秒级的响应时间。
  梦里寻它:技术革命一步跨越三代
  12306能够取得这样翻天覆地的效果,靠技术上的小修小补是不可能的,必须有全新的思路,能够给性能提升带来杠杆式的作用。12306发现GemFire分布式内存数据平台就是这样一种技术。
IM264IQ9CDQ9.png
  GemFire分布式内存数据平台的技术原理如上图所示:通过云计算平台虚拟化技术,将若干X86服务器的内存集中起来,组成最高可达数十TB的内存资源池,将全部数据加载到内存中,进行内存计算。计算过程本身不需要读写磁盘,只是定期将数据同步或异步方式写到磁盘。GemFire在分布式集群中保存了多份数据,任何一台机器故障,其它机器上还有备份数据,因此通常不用担心数据丢失,而且有磁盘数据作为备份。GemFire支持把内存数据持久化到各种传统的关系数据库、Hadoop库和其它文件系统中。
BNM25PGSP52J.png
  大家知道,当前计算架构的瓶颈在存储,处理器的速度按照摩尔定律翻番增长,而磁盘存储的速度增长很缓慢,由此造成巨大高达10万倍的差距(如上图)。这样就很好理解GemFire为什么能够大幅提高系统性能了。
  按照计算与存储的关系,我们可以将计算架构分为四代:
  第一代,基于磁盘的单一系统:计算过程中需要从磁盘读取数据。小型机、大型机是其中的佼佼者,将单一系统的性能做到极致。
  第二代,基于磁盘的分布式集群系统:计算过程中需要从磁盘读取数据,但通过分布系统将数据分散到不同的服务器磁盘上,提高整个系统的处理能力。目前很多大型互联网和电子商务公司采用基于X86服务器的分布式集群系统,依靠海量的X86服务器部署解决高流量并发的问题。
  第三代,基于内存的单一系统:将整个数据库放在内存中,计算过程不需要从磁盘读取数据。整个系统的性能取决于单一系统的性能。传统的内存数据库就是这样的系统,对于企业级的应用可以很好地解决访问速度的问题,但面对海量数据或是海量并发访问的扩展性问题就无能为力。
  第四代,基于内存的分布式集群系统:GemFire就是这样的系统,并行计算是其关键技术之一,因而可以通过增加服务器部署规模,在内存计算的基础上,线性扩展性能。
U6LY13RSM713.png
  12306之前采用Unix小型机架构,采用GemFire技术改造成Linux/X86服务器集群架构,就意味着一下跨越三代。从小型机到大内存X86服务器集群,不仅让性能提升了一个数量级,而且成本也要低得多。
  GemFire是Pivotal企业级大数据PaaS平台的一部分。Pivotal公司的企业级大数据PaaS平台主要有三个层次:云基础架构层Cloud Fabric、大数据基础架构层Data Fabric、应用开发基础架构层Application Fabric。GemFire属于大数据基础架构层,此外,Greenplum数据库也属于这一层;云基础架构层的技术是Cloud Foundry;应用开发基础架构层的技术是Spring Framework和RabbitMQ等。
  对于此次引入GemFire技术的改造,中国铁道科学研究院电子计算技术研究所副所长朱建生表示:“通过技术改造解决了困扰我们多时的尖峰高流量并发问题,让全国人民不再因为技术原因而抱怨,我们终于舒了一口气。Pivotal GemFire分布式集群内存数据技术对整个技术改造发挥了关键的作用。同时,感谢Pivotal公司及其实施方项目团队的努力,在技术开改造过程中确保旧系统顺畅运行、旧系统到新系统平滑迁移,快速实现新系统的上线。”
9HV0055939Q4.jpg


来源:http://www.ctocio.com.cn/cloud/1 ... e86b9237b4c58adde9d

发表于 2013-12-29 20:44:01 | 显示全部楼层
我真想吐,那些数字的真实性太让人怀疑了
发表于 2013-12-29 20:46:22 | 显示全部楼层
这么先进的技术居然春运车票销售第一天一个小时就瘫痪,没什么值得炫耀的,两亿元就买了这么一个垃圾,这两亿元都花在哪里了,实在让人怀疑。
发表于 2013-12-29 20:49:12 | 显示全部楼层
现在这个地步了,没有别的办法,外包才是活路,就像改革一样,这儿就应该成为改革的一个试点,否则只能让大家更笑话!
发表于 2013-12-29 21:03:04 | 显示全部楼层
这个架构不错
 楼主| 发表于 2013-12-29 21:03:45 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 20:49
现在这个地步了,没有别的办法,外包才是活路,就像改革一样,这儿就应该成为改革的一个试点,否则只能让大 ...

哥们你是路内的人么,是怎么还这么说呀
这是一个复杂的事情外包都不一定能解决。

 楼主| 发表于 2013-12-29 21:06:25 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 20:44
我真想吐,那些数字的真实性太让人怀疑了

这个数字应该没问题,内存数据库应该能达到这样的级别。

这个网站是每卖出去的商品都不一样,和淘宝还不一样,因为淘宝卖的商品都是一样的,只接减库存就行了。这个还复杂点。

发表于 2013-12-29 21:06:40 | 显示全部楼层
东北胖子 发表于 2013-12-29 21:03
哥们你是路内的人么,是怎么还这么说呀
这是一个复杂的事情外包都不一定能解决。

我不是路内的,但必须实话实说!
 楼主| 发表于 2013-12-29 21:07:56 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 21:06
我不是路内的,但必须实话实说!

那我就理解你为什么这样说了。
发表于 2013-12-29 21:09:24 | 显示全部楼层
东北胖子 发表于 2013-12-29 21:06
这个数字应该没问题,内存数据库应该能达到这样的级别。

这个网站是每卖出去的商品都不一样,和淘宝还 ...

有那么多人网上卖票吗?能联网的电脑中国有多少台?会上网的农民工又有多少?
发表于 2013-12-29 21:11:03 | 显示全部楼层
jsmbc980401 发表于 2013-12-29 21:08
他以前说自己是路内的,头两年被真路内的车迷一顿轰之后,就说自己不是路内的了。到底是不是,谁也不知道 ...

满口胡说,我什么时候说自己是路内的来着?拿出证据来讲话,又是你自己意淫的吧?
 楼主| 发表于 2013-12-29 21:13:46 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 21:09
有那么多人网上卖票吗?能联网的电脑中国有多少台?会上网的农民工又有多少?

你是指开头的那些数字么,日访问量应该是指具有独立 IP的数量。点击量是指网站所有链接的点击数量,这很正常,买票的时候刷票了多了去了。

这个和农民工有什么关系,我还不理解。

发表于 2013-12-29 21:15:32 | 显示全部楼层
东北胖子 发表于 2013-12-29 21:13
你是指开头的那些数字么,日访问量应该是指具有独立 IP的数量。点击量是指网站所有链接的点击数量,这很正 ...

独立 IP的数量有那么大吗?让人怀疑
 楼主| 发表于 2013-12-29 21:20:46 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 21:15
独立 IP的数量有那么大吗?让人怀疑

这个我感觉差不多有吧,但是我没有他们网站的统计,所以我也不能这么肯定回答有。

发表于 2013-12-29 21:23:11 | 显示全部楼层
东北胖子 发表于 2013-12-29 21:20
这个我感觉差不多有吧,但是我没有他们网站的统计,所以我也不能这么肯定回答有。

“感觉差不多”所以假的很多,水分很大,这正是好多人被蒙蔽的根本
 楼主| 发表于 2013-12-29 21:24:03 | 显示全部楼层
工作在秦沈 发表于 2013-12-29 21:23
“感觉差不多”所以假的很多,水分很大,这正是好多人被蒙蔽的根本

呵呵,行你怎么说都行,每个人有每个人的不同理解吧。判断的依据不同。
发表于 2013-12-29 22:10:31 | 显示全部楼层
看上去挺复杂的,手机客户端开通以后估计对后台服务器的杀伤力更大吧。再说了14亿次的点击率刷新量很大么?不大吧。。。
头像被屏蔽
发表于 2013-12-31 11:40:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册进站

本版积分规则

手机版|小黑屋|Archiver|海子铁路网 ( 京ICP证120035号 京公网安备11010702001036 )

GMT+8, 2024-9-21 10:48

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表