免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 小尾巴鱼
打印 上一主题 下一主题

[其它] 模拟12306购票系统的处理多用户购票网络编程(已公布获奖) [复制链接]

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
1 [报告]
发表于 2015-07-11 09:23 |显示全部楼层
本帖最后由 yulihua49 于 2015-07-11 12:15 编辑
小尾巴鱼 发表于 2015-07-03 16:28
话题背景:

对,我们本期的结论是:技术大神是练出来!凡所有我们所崇拜的大神都有共同的特点就是”都解 ...

12306是个很复杂的系统,大致分为两个层面,一个是售票核心系统,一个是网络客户服务系统,中间是安全隔离系统。
核心系统包括票额的分配和生成,资源的调配,售订退改检,后期的统计分析,结账、清分结算等。
12306只涉及 订改退这一块。
安全隔离,也是影响吞吐量的重要因素。
你所能接触到的是客服(订单处理、支付)这一块。
这块使用的技术与核心系统根本就不是一回事。

前边有个说异构数据库,那不是必须的。
由于历史原因,核心数据库使用SYBASE,性能确实差强人意,但也没办法了。
外围客服(网购)这一块使用ORACLE,用于处理订单。
两个部分都是一个巨大的架构,我们来学习哪一部分呢?

不管哪一部分,UDP是无需考虑的了。
外围的基本是HTTP。内层的,很遗憾,现有系统是二层C/S, powerbuild 连接SYBASE,一切依赖存储过程。中间虽然有个CTMS隔离,也不能算是一层。
历史原因,它并不是一个理想的架构。我们倒是能提出一些新思路。(严格加锁下,还要高并发,办法你想)。

你们可能关注的是吞吐量和流畅性,但是,更重要的是确保交易完整性,就是,席票账的一致性。简单说,就是在激烈竞争的环境下,不能重票,丢票,错帐(严格加锁下,还要高并发,办法你想)。。
这是铁路客票系统最独特的,一席一票,其他任何系统都不要求商品对号入座。

对架构更大的争议是:核心数据库是分布的还是集中的。集中,集中些什么。分布,又怎样分布。这个争议贯穿在这个系统整个生命期。

抗攻击性也是这个系统的重要议题,这个你懂的。

这个题目太大,不适合用作作业。可以用来做见习架构师的研究课题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP