论坛首页 Java企业应用论坛

对于网上购票系统12306,如果你是架构师,你会怎么办?

浏览 37323 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-13  

最近12306事情搞的很火,做个小讨论,看看各位参与度如何?

12306概况

1、采用CDN分发技术

2、据业内人士说,采用oracle通用数据库

3、同时并发大概在500万左右

4、专业互联网分析网站 Alexa 的统计显示,12306的访问量排名从3个月前的第1059位跃居至目前的第115位。1月9日,Alexa 统计估算的12306网站独立用户访问比例,已占到全球的0.86%,3个月间访问增速达627.5%。

5、系统从2011年6月份开始运行

 


 

如果您是这个项目的系统架构师或者成员,您会怎么办?

  • 大小: 122.8 KB
   发表时间:2012-01-13  
如果我是的话:
1、第一步将采用mysql数据库代替oracle数据库,降低成本;
2、采用分布式mysql数据库,减少单台数据库服务器压力
3、加上分布式缓存服务器,减少数据库的IO
4、根据车次将对应的信息放入不同的mysql数据库,分散压力
5、在上线之前,进行大规模的压力测试
6、被用若干台备用数据库以及web服务器,应对压力
7、基础平台采用IAAS,提高扩展性

目前就想到这么多
0 请登录后投票
   发表时间:2012-01-13  
用mysql 替代 oracle,我不赞同。
但是将特定车次根据可以换乘的原则分开我是赞同的。
另外可以使用内存数据库进一步减低压力。
1 请登录后投票
   发表时间:2012-01-13  
诺亚之舟 写道
用mysql 替代 oracle,我不赞同。
但是将特定车次根据可以换乘的原则分开我是赞同的。
另外可以使用内存数据库进一步减低压力。

mysql代替oracle可行,不是基于成本考虑,而是M-S的扩展的方便,提高读写性能。

架构源于需求。
12306的系统平时没什么问题吧。那我们就要考虑:重做还是改进?
春运只是很短的几天,如果现有系统改造后,可以支撑春运,何必重做。

对现有系统,找出所有关键路径,能优化的优化,需要异步的队列处理。
量大时增大缓存和有效期,关闭部分依赖,增加适量的机器,甚至抛出部分用户。
对于这些时间区间性很强的活动,做好监控,压测,容量预估.....

1 请登录后投票
   发表时间:2012-01-13  
kimmking 写道

作为央行xxxx中心的前员工,表示此银行基本都是DB2
另外,你说的报数文件么?县级以下才是吧,往上都要集中入库的。


那是支行以下,到网点(有的在农村), 现在应该没有报数文件了,都联网了。

支行以上(省行,央行),你可能没接触过,跨行交易都是在央行做的,“冲账” 这个词还记得把, 所谓的冲账就是改改文本文件了。
0 请登录后投票
   发表时间:2012-01-13  
mikewang 写道
kimmking 写道

作为央行xxxx中心的前员工,表示此银行基本都是DB2
另外,你说的报数文件么?县级以下才是吧,往上都要集中入库的。


那是支行以下,到网点(有的在农村), 现在应该没有报数文件了,都联网了。

支行以上(省行,央行),你可能没接触过,跨行交易都是在央行做的,“冲账” 这个词还记得把, 所谓的冲账就是改改文本文件了。

好吧,我真没接触过,我就在我们村的央行总行打过酱油。。
0 请登录后投票
   发表时间:2012-01-13  
kimmking 写道
mikewang 写道
kimmking 写道

作为央行xxxx中心的前员工,表示此银行基本都是DB2
另外,你说的报数文件么?县级以下才是吧,往上都要集中入库的。


那是支行以下,到网点(有的在农村), 现在应该没有报数文件了,都联网了。

支行以上(省行,央行),你可能没接触过,跨行交易都是在央行做的,“冲账” 这个词还记得把, 所谓的冲账就是改改文本文件了。

好吧,我真没接触过,我就在我们村的央行总行打过酱油。。


跑题了,各位兄弟...O(∩_∩)O哈哈~
0 请登录后投票
   发表时间:2012-01-13  
我是来看mikewang 和 kimmking 的
0 请登录后投票
   发表时间:2012-01-13  
mikewang 和 kimmking ,两位大佬,得确跑题了。。。
0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
诺亚之舟 写道
用mysql 替代 oracle,我不赞同。这个老兄能说下原因吗??


因为从我自身的多个全国性系统的经验来看,中心数据库在突然的大并发访问的时候,IO绝对是最后的一个也是最大的一个问题,对于ORalce这样的,如果采用3-rac或者4rac的话,阵列的成本太高了,动不动就上百万的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics