cn12306的设计思路,不依赖数据库 =======现在还有不少人在讨论12306的设计,在这里写一个简单的设计思路1. 网站不是为了解决高峰期票少人多的问题,争论里总讨论这个话题没意义 2. 排队机制不能到处套用,拿网游的常规做法来处理web不是很合适,应该最大限度提升系统的响应速度 3. 最好的方式是开票后10分钟内热门车次票就被订光了,抢到票的高高兴兴去付钱,没抢到的骂骂咧咧想其他途径,早
每每临近春节的时候,有一个软件是最火爆的,那可比“双十一”劲爆多了,它的名字,全中国的人民都非常熟悉,也非常好记——12306,平淡无奇的数字组合到一起却引起这么大的波澜,这就是国家票务中心的魅力。然12306的官方APP设计却是忍不住让广大网友吐槽下,对于不经常用的我来说,到没什么,但是它对于我们公司的设计师,那可真是要逼疯的节奏,到底怎么回事,下面让我们一起来看看究竟。前段时间一个12306手
1) 优化前端网页
充分利用CDN,使JS、图片等静态资源的请求能够就近访问(顺便说一下,如果12306订票插件能从google提供的http://cdnjs.com中引用JS,而不去直接引用github的JS,就不会把github搞瘫了)。将JS、CSS合并,最小化请求数。将JS和CSS压缩,最小化数据传输启用gzip压缩网页。2) 群集分发和调度 据
需求简述12306这个系统,核心要解决的问题是网上售票。涉及到2个角色使用该系统:用户、铁道部。用户的核心诉求是查询余票、购票;铁道部的核心诉求是售票。购票和售票其实是一个场景,对用户来说是购票,对铁道部来说是售票。因此,我们要设计一个在线的网站系统,解决用户的查询余票、购票,以及铁道部的售票这3个核心诉求。看起来,这3个场景都是围绕火车票展开的。 查询余票:用户输入出发地、目的地、出发
转载
2023-07-16 18:03:38
493阅读
对12306系统的服务以及售票系统有了进一步的了解:其实,12306系统也相当于是电商系统,而且看起来商品就是票了。因为如果把一张票看成是一个商品,那购票就类似于购买商品,然后每张票都有库存,商品也有库存的概念。但是如果我们仔细想想,会发现12306要复杂很多,因为我们无法预先确定好所有的票。对于12306系统来说,他的用户无异于是是两者,其一就是我们这些进行出行购票普通用户,另一方就是要售票的铁
转载
2023-07-21 15:25:06
364阅读
12306,因为系统问题,成了IT业界内大家茶余饭后经常谈论的话题。 先分享一个真实故事,我同事看了12306这个网站,他说,这个网站做下来只要5万,我反驳,被他嘲笑。笑话终归笑话,没有讽刺铁道部,以及12306研发方的意思,我同事是实习生,他不懂12306。 近日,我们在一个技术群里讨论了一个开放式话题:如果我是12306架构师,该怎样设计系统架构? 讨论的内容太多,
转载
2023-08-27 10:46:20
165阅读
“每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。 “12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了
转载
2023-08-21 21:14:11
122阅读
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构
作者:绘你一世倾城 每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS
转载
2023-09-04 14:52:01
85阅读
读了几篇有关12306架构设计的博客,在这里做下简单的总结:主要角色:用户 主要功能:查询剩余票数 售票一 分析业务 业务复杂点: 1 库存集中:所有登录的用户访问的都是数据中心的票据数据 2 复杂的业务逻辑:还有很多查询操作,查时间,查座位,查铺位,一个车次不 行,又查另一个车次,其伴随着大量的查询操作,下单的时候需要对数据库操作。另外,关于秒杀,完全可以做成只接受前N个用户的请求(完全不操
转载
2023-07-14 11:42:40
178阅读
MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,来探究MyBatis的实现。1.接口层---和数据库交互的方式1.1.使用传统的MyBatis提供的API这是传统的传递StatementId和查询参数给SqlSession对象,使用SqlSession对象完成和数据库的交互;MyB
原创
2018-01-02 14:07:27
1111阅读
# 12306 系统架构设计详解
随着中国铁路系统的改革,12306 作为全国铁路客票订票的官方平台,承担了巨大的流量和数据处理负担。今天,我们就来讨论其系统架构设计,并通过代码示例和图表分析,深入理解其关键技术。
## 1. 系统架构概述
12306 系统架构主要包括以下几部分:
- **用户层**:提供用户界面(UI),允许用户进行查询和购票。
- **应用层**:处理业务逻辑,接收用
cn12306的设计思路,不依赖数据库=======现在还有不少人在讨论12306的设计,在这里写一个简单的设计思路1. 网站不是为了解决高峰期票少人多的问题,争论里总讨论这个话题没意义2. 排队机制不能到处套用,拿网游的常规做法来处理web不是很合适,应该最大限度提升系统的响应速度3. 最好的方式是开票后10分钟内热门车次票就被订光了,抢到票的高高兴兴去付钱,没抢到的骂骂咧咧想其他途径,早死早超
转载
2023-09-11 15:14:14
136阅读
在软件开发领域,系统架构设计和产品架构设计是至关重要的一环,它们直接关系到软件产品的稳定性、可扩展性、可维护性以及用户体验。特别是在软件水平考试(软考)中,架构设计能力是一个重要的考核指标。本文将深入探讨系统架构设计和产品架构设计的核心理念、设计原则以及在实际操作中的应用分析。
一、系统架构设计概述
系统架构设计是软件开发过程中的关键环节,它涉及整个系统的结构、行为以及不同组件之间的交互方式
目前12306的核心领域模型设计的不够好,导致用户购票时要处理的业务逻辑异常复杂,维护数据一致性的难度也几百倍的上升,同时面对高并发的订票也难以支持很高的TPS。我觉得,越是复杂的业务,就越要重视业务分析,重视领域模型的抽象和设计。如果不假思索,凭以往经验行事,则很可能会被以往的设计经验先入为主,陷入死胡同。我发现技术人员往往更注重技术层面的解决方案,比如一上来就分析如何集群、如何负载均衡、如何排
转载
2023-09-29 21:53:19
90阅读
MySQL高可用架构设计分析高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的...
原创
2021-07-20 15:43:38
170阅读
## 区块链整体架构设计分析
### 流程概述
首先,让我们来看一下实现“区块链整体架构设计分析”的流程。我们将分为以下几个步骤来完成这个任务:
| 步骤 | 描述 |
| ---- | ---- |
| 1 | 确定区块链的功能和需求 |
| 2 | 设计区块链的整体架构 |
| 3 | 实现区块链的核心功能 |
| 4 | 测试和优化区块链 |
| 5 | 部署区块链 |
### 详细步
就是12306票池方面的最新研究进展,没做过这么大的系统,随便写写,欢迎批评指正。
在前面的文章里,12306票池架构探讨(一)和12306票池架构探讨(二)里大概说了下票池实现的思路和选用的数据结构(数据结构上还有些争议),主要的思想就是将整个票池放在内存里 – 整个数据库都在内存里。 关于票池的需求,请参看我的另一篇帖子:http://12
转载
2023-07-18 10:53:50
210阅读
主要就Integrity的系统架构以及网络架构的分析,对Integrity系统的深入学习,了解其实现的原理以及各类技术
原创
2013-05-20 14:33:56
6433阅读
MySQL高可用架构设计分析高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的...
原创
2022-04-22 19:28:42
869阅读