前言春节期间,无意中看到一篇文章,文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂。后来自己想想,也确实如此。所以,很想挑战一下12306这个系统的核心领域模型的设计。一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的。当用户发起购买行为时,系统只需要生成订单并对用户要购买的商品减库存即可。但是,12306就不是那么简单了,具体复杂在哪里,我
背景12306最大的特点就是峰值流量。12306平常一天的PV(page views)值大约是在 2500万到 3000万左右, 在2015年春运高峰日的PV值是297亿,流量增加1000倍,这样海量的请求,假如不能在短时间内动态调整网络带宽或增加服务器数量,就会造成网络阻塞或是服务器性能无法满足要求,甚至使整个系统不稳定。更何况这些流量中的购票甚至不是在这天均匀分布的,而是集中在放票后的几秒到几
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!笔
feed系统和火车票售卖系统是2个高访问高并发情况下具体很大挑战的系统。 在低访问,低并发的情况下feed系统会变的非常简单,数据模型和业务功能都比较容易设计和实现,主要的挑战就剩如何面对层出不穷的敏感词和花样百出的广告语。相比之下,火车票售卖系统在低并发时也很有趣,假设我是12306的架构师,我会如何设计12306那。数据模型先将系统进行拆分,独立成用户,车票,下单3个系统,每个系统内部封闭成多
转载 2023-07-31 11:07:20
180阅读
1点赞
读了几篇有关12306架构设计的博客,在这里做下简单的总结:主要角色:用户 主要功能:查询剩余票数 售票一 分析业务 业务复杂点: 1 库存集中:所有登录的用户访问的都是数据中心的票据数据 2 复杂的业务逻辑:还有很多查询操作,查时间,查座位,查铺位,一个车次不 行,又查另一个车次,其伴随着大量的查询操作,下单的时候需要对数据库操作。另外,关于秒杀,完全可以做成只接受前N个用户的请求(完全不操
作者:绘你一世倾城 每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS
转载 2023-09-04 14:52:01
85阅读
需求简述12306这个系统,核心要解决的问题是网上售票。涉及到2个角色使用该系统:用户、铁道部。用户的核心诉求是查询余票、购票;铁道部的核心诉求是售票。购票和售票其实是一个场景,对用户来说是购票,对铁道部来说是售票。因此,我们要设计一个在线的网站系统,解决用户的查询余票、购票,以及铁道部的售票这3个核心诉求。看起来,这3个场景都是围绕火车票展开的。 查询余票:用户输入出发地、目的地、出发
转载 2023-07-16 18:03:38
493阅读
 评测别人的软件铁路12306这款手机APP的主要目的是随着互联网的快速发展和智能手机的普及以及火车票的实名制,为方便人们的日常出行,而开发出的一款便捷的火车票订票软件。铁路12306主体颜色主要由蓝色和白色组成,看上去比较简洁美观,底栏分成了“车票预定”、“订单查询”、“我的12306”、三个主要功能区,在“车票预定”里我们可以简单方便地按照“出发地”、“目的地”、“出发日期”、“出发
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!  12306 抢票,极限并发带来的思考 虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。 尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。 “12306 服务”承受着这个世界上任
1.序言这篇博客旨在通过使用最近学习的软件工程上常用的需求分析及建模的方法,对工程实践项目————实现12306app Demo,进行简单需求分析、用例建模、业务领域建模,、数据建模,最终形成概念原型。2.初步需求分析简单粗暴的需求分析方法:头脑风暴一个最基础的订火车票app应当具有以下的功能账户系统,注册,登录功能,记录客户的信息,提供车票查询,包括选取日期、始发地、目的地、只看高铁票、只看学生
ITEYE对此作了专题讨论,其中包含了很多问题,值得商讨和关注。部分内容节选:您认为高性能并发系统架构应该如何设计?关键是什么? 范凯    写道 高性能并发系统其实分很多种类,是并发读,并发写,并发长连接,还是并发事务?不同类型的架构设计是不同的。具体到12306就是并发事务,在这个领域,我个人没有什么经验。 陈雄华&nbsp
不多说,看源码! http://yuncode.net/code/c_507f907e3fc0a58
原创 2012-10-20 09:12:24
706阅读
1. 前言  本文在中科大软件学院孟宁老师的指导下完成,是一个基于对工程实践选题中的12306火车售票系统分析,从而进行数据库建模、接口设计等分析过程,最终形成概念原型的过程。 2. 项目介绍  该项目来自于学校与企业合作选题,意在模拟实现一个12306售票系统,尽可能覆盖真实线上系统,要求实现但不限于以下功能:用户信息注册查询余票售票退票改签  并在此基础上,对一些读写接口的延迟以及并
虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在这里和大家分享一下并模拟一个例子:如何
转载 2023-08-16 21:59:40
113阅读
12306.cn谈谈网站性能技术陈皓IT哈哈12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东西)业务任何技术都离不开业务需求,所以,要说明
原创 2021-01-15 20:02:40
310阅读
经过一周的调试目前软件已经比较稳定了.可以放给大家用了.使用本软件需要一些基本条件:1.需要一台Android手机2.Android手机必须已root3.Android手机必须是4.4或者4.4.2系统,其他版本系统一概不支持.如果你满足上面的条件,恭喜你可以用此软件.先说下本软件的原理,它和世面上所有的抢票软件都不同,世面上的抢票软件都是靠模拟http://www.12306.cn这个网站的HT
转载 2023-07-07 22:19:47
96阅读
oschina 配图 12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于 本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购 票下单环节分开的功能性的东西) 业务 任何技术都离不开业务需求,所以,要说明
转载 精选 2012-01-30 19:24:39
269阅读
游网偶见一文写的是某传统业务的大哥投互联网的简历,被分布式的一些细节问题问的有些蒙。面试官除你们除了CRUD什么也不会,还好意思说干了几年开发。技术这块我也不熟,分布式微服务也能用,究根问底的细节功力估计也达不到面试官问题的程度,但我想说的是传统业务里不只是有CRUD,还有人对业务的思考这种水面之下的东西。大可不必依某些流行技术的通晓来揶揄别人。比如12306,当年一开张就闹了大花脸被暴烈的春
原创 2020-04-11 09:32:10
310阅读
12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于 本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体
转载 2012-01-16 12:28:00
43阅读
2评论
本人的工程实践项目是设计一个类似12306的网上售票系统,本文将分析该项目的同时对软件架构进行初步设计。项目信息题目基本要求参考12306站点进行售票系统建模设计,尽可能接近覆盖真实线上系统,实现的功能有但不限于:用户信息注册查询余票: 根据时间,车次,站点区间,座次(一等座,二等座,硬卧,硬座…)查询余票售票: 支持一次购买同一车次的多张车票(多人),支持订单30分钟内锁定,超时释放。支付接口可
转载 2023-07-10 22:58:56
1895阅读
  • 1
  • 2
  • 3
  • 4
  • 5