每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构
作者:绘你一世倾城 每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS
转载 2023-09-04 14:52:01
85阅读
读了几篇有关12306架构设计的博客,在这里做下简单的总结:主要角色:用户 主要功能:查询剩余票数 售票一 分析业务 业务复杂点: 1 库存集中:所有登录的用户访问的都是数据中心的票据数据 2 复杂的业务逻辑:还有很多查询操作,查时间,查座位,查铺位,一个车次不 行,又查另一个车次,其伴随着大量的查询操作,下单的时候需要对数据库操作。另外,关于秒杀,完全可以做成只接受前N个用户的请求(完全不操
# 12306 系统架构设计详解 随着中国铁路系统的改革,12306 作为全国铁路客票订票的官方平台,承担了巨大的流量和数据处理负担。今天,我们就来讨论其系统架构设计,并通过代码示例和图表分析,深入理解其关键技术。 ## 1. 系统架构概述 12306 系统架构主要包括以下几部分: - **用户层**:提供用户界面(UI),允许用户进行查询和购票。 - **应用层**:处理业务逻辑,接收用
原创 1月前
123阅读
每每临近春节的时候,有一个软件是最火爆的,那可比“双十一”劲爆多了,它的名字,全中国的人民都非常熟悉,也非常好记——12306,平淡无奇的数字组合到一起却引起这么大的波澜,这就是国家票务中心的魅力。然12306的官方APP设计却是忍不住让广大网友吐槽下,对于不经常用的我来说,到没什么,但是它对于我们公司的设计师,那可真是要逼疯的节奏,到底怎么回事,下面让我们一起来看看究竟。前段时间一个12306
本人的工程实践项目是设计一个类似12306的网上售票系统,本文将分析该项目的同时对软件架构进行初步设计。项目信息题目基本要求参考12306站点进行售票系统建模设计,尽可能接近覆盖真实线上系统,实现的功能有但不限于:用户信息注册查询余票: 根据时间,车次,站点区间,座次(一等座,二等座,硬卧,硬座…)查询余票售票: 支持一次购买同一车次的多张车票(多人),支持订单30分钟内锁定,超时释放。支付接口可
转载 2023-07-10 22:58:56
1914阅读
1)  优化前端网页 充分利用CDN,使JS、图片等静态资源的请求能够就近访问(顺便说一下,如果12306订票插件能从google提供的http://cdnjs.com中引用JS,而不去直接引用github的JS,就不会把github搞瘫了)。将JS、CSS合并,最小化请求数。将JS和CSS压缩,最小化数据传输启用gzip压缩网页。2)  群集分发和调度 据
1、 评测别人的软件请下载铁路12306的手机APP,通过使用这款软件,写一篇软件的评测(300字以上),评测内容可以是这个软件的优势,或是你觉得特别好的地方,软件的缺陷、软件可以改进的地方等等。 在2013年铁路12306的手机客户端出来了,这极大的方便了人们的订票,人们不需要在电脑前提前订票只要在手机上就可以完成订票程序,方便了人们的出行。优点:12306客户端的出现对于需
目前12306的核心领域模型设计的不够好,导致用户购票时要处理的业务逻辑异常复杂,维护数据一致性的难度也几百倍的上升,同时面对高并发的订票也难以支持很高的TPS。我觉得,越是复杂的业务,就越要重视业务分析,重视领域模型的抽象和设计。如果不假思索,凭以往经验行事,则很可能会被以往的设计经验先入为主,陷入死胡同。我发现技术人员往往更注重技术层面的解决方案,比如一上来就分析如何集群、如何负载均衡、如何排
关于12306网站和清华某院长的微博言论,我做了一个小回复,说这玩意不难,2个人2周,40台服务器可以搞定。 下面详细解释一下大概的思路。免费share一下,看看靠谱不靠谱。 别人看到的是流量,我先看结构,这里的数据结构是相当简单的,主要满足的需求是: 1.车次查询(最常见的是起点站,终点站查询 和车次直接输入查询)+余票显示 所谓的用户刷页面,绝大部分应该在这里。日均10亿pv(这个数字我
1. 项目简介  本课题参考12306站点进行售票系统建模设计,实现一个类12306售票系统,尽可能接近覆盖真实线上系统,实现的功能有但不限于:用户信息注册查询余票:根据时间,车次,站点区间,座次(一等座,二等座,硬卧,硬座等)查询余票售票:支持一次购买同一车次的多张车票(多人),支持订单30分钟内锁定,超时释放退票:支持一个用户帐户下的批量退票改签:同一用户一张车票只能改签一次2. 软件架构  
转载 2023-07-13 19:12:16
1863阅读
既然有人问12306这种网站如何设计,我不才,来简单说几句。 忽悠之前先来了解一些基本现状。 1. 按照铁道部公开的数据,注册用户大约在5000万,日访问PV大约在10亿,每日网上订购票大约在500万 2. 每一个个人用户的数据都是独立的,不会和别人共享 3. 每一个铁路局(全国18个铁路局)下管理很多小的车站,每一趟车票的数量控制基本上有其所属的铁路局分配 4.每一个用户的数据非常有限
转载 精选 2012-01-25 00:08:22
980阅读
  12306,因为系统问题,成了IT业界内大家茶余饭后经常谈论的话题。   先分享一个真实故事,我同事看了12306这个网站,他说,这个网站做下来只要5万,我反驳,被他嘲笑。笑话终归笑话,没有讽刺铁道部,以及12306研发方的意思,我同事是实习生,他不懂12306。   近日,我们在一个技术群里讨论了一个开放式话题:如果我是12306架构师,该怎样设计系统架构?   讨论的内容太多,
“每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。 “12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了
feed系统和火车票售卖系统是2个高访问高并发情况下具体很大挑战的系统。 在低访问,低并发的情况下feed系统会变的非常简单,数据模型和业务功能都比较容易设计和实现,主要的挑战就剩如何面对层出不穷的敏感词和花样百出的广告语。相比之下,火车票售卖系统在低并发时也很有趣,假设我是12306架构师,我会如何设计12306那。数据模型先将系统进行拆分,独立成用户,车票,下单3个系统,每个系统内部封闭成多
转载 2023-07-31 11:07:20
180阅读
1点赞
 每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑 “智行” 和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务” 承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并
cn12306设计思路,不依赖数据库 =======现在还有不少人在讨论12306设计,在这里写一个简单的设计思路1. 网站不是为了解决高峰期票少人多的问题,争论里总讨论这个话题没意义 2. 排队机制不能到处套用,拿网游的常规做法来处理web不是很合适,应该最大限度提升系统的响应速度 3. 最好的方式是开票后10分钟内热门车次票就被订光了,抢到票的高高兴兴去付钱,没抢到的骂骂咧咧想其他途径,早
12306火车售票系统设计方案简介本项目是尝试实现12306的网上售票系统,尽量接近真实的12306系统。在上一篇文章中,我们分析了系统的概念设计与需求分析。下面我将通过给出分解视图、依赖视图、执行视图、实现视图、部署视图和数据库实现来描述项目的完整设计方案。分解视图  项目采用微服务架构,对模块进行垂直拆分并水平扩展,保证系统的高性能。不同模块可能放在不同的机器上,通过PRC调用 TicketS
转载 2023-07-17 11:09:19
814阅读
目前12306的核心领域模型设计的不够好,导致用户购票时要处理的业务逻辑异常复杂,维护数据一致性的难度也几百倍的上升,同时面对高并发的订票也难以支持很高的TPS。我觉得,越是复杂的业务,就越要重视业务分析,重视领域模型的抽象和设计。如果不假思索,凭以往经验行事,则很可能会被以往的设计经验先入为主,陷入死胡同。我发现技术人员往往更注重技术层面的解决方案,比如一上来就分析如何集群、如何负载均衡、如何排
原文出处: 汤雪华   欢迎分享原创到伯乐头条前言春节期间,无意中看到一篇文章, 文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂。后来自己想想,也确实如此。所以,很想挑战一下12306这个系统的核心领域模型的设计。一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的。当用户发起购买行为时,系统只需要生成订单并对用
转载 精选 2016-04-21 14:28:50
485阅读
  • 1
  • 2
  • 3
  • 4
  • 5