您的位置:首页 > 运维架构 > 网站架构

12306网站之我见

2012-09-24 10:36 120 查看
中秋国庆双节即将到来,大批人有要准备出行了,火车自然成为大家的交通首选,但是近期登录12306网站的人发现:1. 根本无法登录。2. 登录后订票排了30分钟的队后竟然失败了。 3. 支付成功了,然后去取票被告知没票了。真是坑爹啊!又有一新闻12306的网站花了3亿人民币,自然又引来网友的一顿臭骂。

现在12306的网站表面主要有下面功能,用户注册及登录、购票预约、退票、余票查询等。概括起来就3大功能,第一用户注册及登录、第二查询、第三购票及支付。根据它的功能和业务特点估算一个大概价格。

说明:下面仅仅作为假设,没有任何实际意义:

一:总体架构方面,终端 + 集群应用服务器 + 集群中间件(可选) + 分布式集群数据库。

二:业务部分分为3部分功能,开发为3个标准的服务组件,各组件独立部署,以标准接口连接,有利于软件重用和扩展。软件架构以Struct + Spring + Hibernate 为主。

三:3个功能部分,用户注册及登录以读写为主,读应该大于写;查询完全读操作;购票及支付主要以写操作为主,根据这个特点合理的进行应用及数据分布,以异步功能实现读写最大化。

四:3个功能分别对应3个分布式数据库,以集群实现负载均衡,各分布式数据库之间用某种机制来同步数据(数据同步的频率和时间是个关键)。

现在来估算价格:

1. 根据网站表面的业务逻辑为主,成本加利润,1000万应该可以了吧。

2. 服务器方面,面向中国几个亿人使用,假设以每秒1000万的并发访问,单台机器最大支持500个并发量,应不能少于20000台集群(一次到位可能不太现实,先实现5000台机器),以惠普4核 6GB内存,价格1.2万左右的刀片服务器来算(或者IBM类似的机器),需要6000万元。

3. 数据库部分,注册登录部分配置为8节点的集群以PC为主, 查询部分和购票分别配置10个节点的集群,以IBM570小型机100万的配置为主,总价格在2000万左右,再加3台IBM DS5300存储总估计500万,再加配套设施,最后数据库部分总估价3000万(如果使用Oracle再加上保护费,估计也要1000万)。

4. 网络设备、集成费用、安装施工费用、其它配套费用再估计2000万。

5. 每秒1000万并发,至少需要3台F5,估计300万。

综上所述:总估价 1000+6000+4000+2000+300=1.33亿元,再加10%的误差,估计总价1.5亿左右。

一些建议:

1. 前端显示以文字为主,显示具体的车票数量,没有了就不用进行后面的操作,少用图片等没用的东西。

2. 应用服务器应增加数据缓存功能,减少后端数据库的压力。

3. 增加线下支付功能,一手交钱一手交票。

上面的仅是系统运行的外因,不是根本的因素,根本是人的问题、体制的问题,人的问题不解决,别说3个亿,就是30亿也建不出好系统。以上仅是个人拙见,祝各位早点搞到票。

----提醒:感谢浏览,切勿发表任何评论,没有任何实际价值与意义。

本文出自 “srsunbing” 博客,请务必保留此出处http://srsunbing.blog.51cto.com/3221858/1004338
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: