每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构
转载 2023-08-15 12:11:31
243阅读
订票的实现思路同时借助像ENode这样的框架,我们可以实现in-memory + Event Sourcing的架构。Event Sourcing技术,可以让领域模型的所有状态修改的持久化统一起来,本来要用ORM的方式保存聚合根最新状态的,现在只需要简单的通用的方式保存一个事件即可(一次订票只涉及一个车次聚合根的修改,修改只产生一个事件,只需要持久化一个事件(一个JSON串)即可,保证了高性能,无
12306系统架构优化coolshell陈皓优化方案一、业务复杂度比对(1)qq业务模型:只访问自己的数据(2)秒杀业务模型:秒杀能够只接受前N个请求,后续请求直接返回(3)奥运会售票业务模型:注册+抽奖,非先来先抢,可以事后线下处理(4)电子商务业务模型:c2c只需关注自己的库存结论:库存是b2c的噩梦,12306业务与之类似二、瓶颈库存业务的操作模式基本是这样的:1)占住库存2)付款3)扣除库
转载 2023-10-09 22:35:47
403阅读
铁路12306是中国铁路客户服务中心推出的官方手机购票应用软件,软件具有车票预订,在线支付,改签,退票,订单查询等功能,为大众提供方便快捷的手机购票全新体验。这个软件到底有多受欢迎,可以说,在我认识的朋友中,基本上每个人的手机都有安装这个app,它如此火是有道理的!它的出现,使人们可以不用再无聊的排队买票这个问题,相信大家都超级讨厌吧。其实,它会那么受欢迎也是因为互联网的发展使得人们不管办什么事情
转载 2023-07-18 10:35:55
490阅读
     12306火车票购票系统,逢假日必瘫痪,引发了强烈反响。国庆前后,“问诊12306”的时候,铁道系统的答复是,购票人数太多,数据量过大。但 是,在前不久淘宝双11大促活动中,淘宝双十一总交易金额191亿,订单1亿零580万笔,其中无线支付近900万笔,支付宝核心数据库集群处理了41亿 个事务,执行285亿次SQL,生成15TB日志,访问1931亿次
转载 2023-07-18 16:41:25
1259阅读
架构-“12306”的架构背景每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了
# 12306软件架构分析与旅行路线示例 12306是中国铁路客户服务中心的官方网站,其核心功能是提供火车票的查询和预订服务。随着用户量的急剧增加,12306的系统架构设计变得日益复杂。本文将对12306的软件架构进行科普分析,并用代码示例和旅行图来展现其功能。 ## 软件架构概述 12306架构通常由前端和后端组成。前端负责与用户交互,包括用户界面、数据展示等;后端则是处理业务逻辑、数据
# 12306产品架构解析与示例 12306是中国铁路客户服务中心的官方网站,主要提供火车票的查询、预订及相关服务。本文将对12306的产品架构进行分析,并通过一些代码示例加以阐述。 ## 一、12306整体架构 在讨论代码之前,我们首先了解12306的产品架构12306系统主要分为以下几个模块: 1. **用户模块**:负责用户的注册、登录、权限管理。 2. **订单模块**:管理用户
原创 9月前
257阅读
作者:刘常军(2014-01-13)        为了优化12306.cn网站的性能,软件开发单位也没少费脑筋。前几天我在“IT专家网”上看到一篇文章,题为《12306:分布式内存数据技术为查询提速75倍》,里面提到了这样一组对比数字:“根据系统运行数据记录,技术改造之后,在只采用10几台X86服务器实现了以前数十台小型机的余票计算和查询能力,单
前言春节期间,无意中看到一篇文章,文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂。后来自己想想,也确实如此。所以,很想挑战一下12306这个系统的核心领域模型的设计。一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的。当用户发起购买行为时,系统只需要生成订单并对用户要购买的商品减库存即可。但是,12306就不是那么简单了,具体复杂在哪里,我
转载 2024-08-01 17:56:57
156阅读
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构
转载 2024-03-12 15:02:43
38阅读
当年做学生的时候,都可以提前拿到票,而且我们学校又比其他学校早放假(并且晚上学)所以这个火车票问题没有什么紧张的。不过看着常常的订票队伍,不免也同情。12306网站是铁道部专门用来订票的网络渠道,这个网站大家从技术途径分析很多,我本人不太懂就不做评论。我想和大家分析的是从产品角度,12306的不足之处。铁道部是一个老部门,很落后很保守,简而言之就是国中之国,不过并不像大家想想中的那么富裕,那么舒服
目录一、模块化编程思维二、安防监控项目主框架搭建一、模块化编程思维其实我们以前学习32使用keil的时候就是再用模块化的思维。每个硬件都单独有一个实现功能的C文件和声明函数,进行宏定义以及引用需要使用头文件的h文件。比如简单的加减乘除取余操作我们把他们每个都封装一个文件但是他们每个文件里功能很少所以可以共用一个h文件common 二、安防监控项目主框架搭建这是我们的整个架构的代码&nbs
转载 2023-08-30 17:31:22
70阅读
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题: 抢火车票! .. 虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。
在讨论“12306初始软件架构图”之前,我们先来了解一下这个系统的背景。12306官方网站是中国铁路客票销售的主要系统,致力于为用户提供便利的火车票预订、查询及其他相关服务。回想起2011年,当时的购票方式主要依靠窗口或电话,不仅不便,而且排队时间可谓漫长。为了解决这一巨大问题,中国铁路总公司于2012年上线了12306网站,开启网上购票的新纪元。 以下是12306初始软件架构的时间轴: ``
原创 6月前
56阅读
12306 抢票,极限并发带来的思考:虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在
转载 2023-12-02 22:24:04
105阅读
背景12306最大的特点就是峰值流量。12306平常一天的PV(page views)值大约是在 2500万到 3000万左右, 在2015年春运高峰日的PV值是297亿,流量增加1000倍,这样海量的请求,假如不能在短时间内动态调整网络带宽或增加服务器数量,就会造成网络阻塞或是服务器性能无法满足要求,甚至使整个系统不稳定。更何况这些流量中的购票甚至不是在这天均匀分布的,而是集中在放票后的几秒到几
就是12306票池方面的最新研究进展,没做过这么大的系统,随便写写,欢迎批评指正。 在前面的文章里,12306票池架构探讨(一)和12306票池架构探讨(二)里大概说了下票池实现的思路和选用的数据结构(数据结构上还有些争议),主要的思想就是将整个票池放在内存里 – 整个数据库都在内存里。 关于票池的需求,请参看我的另一篇帖子:http://12
转载 2023-07-18 10:53:50
362阅读
作者: 绘你一世倾城12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习
转载 2024-06-11 10:14:04
109阅读
12306火车售票系统设计方案简介本项目是尝试实现12306的网上售票系统,尽量接近真实的12306系统。在上一篇文章中,我们分析了系统的概念设计与需求分析。下面我将通过给出分解视图、依赖视图、执行视图、实现视图、部署视图和数据库实现来描述项目的完整设计方案。分解视图  项目采用微服务架构,对模块进行垂直拆分并水平扩展,保证系统的高性能。不同模块可能放在不同的机器上,通过PRC调用 TicketS
转载 2023-07-17 11:09:19
900阅读
  • 1
  • 2
  • 3
  • 4
  • 5