技术分析12306网上订票真的就这么烂吗?

开发 前端
买票难,网上买票更难。奇丑的UI,无法登录,扣钱买不到票…每个人都在用12306,每个人都在骂,那这样一个产品到底合格不合格呢?是不是真的找几个IT民工,就能做的比他更好呢?

买票难,网上买票更难。奇丑的UI,无法登录,扣钱买不到票…每个人都在用12306,每个人都在骂,那这样一个产品到底合格不合格呢?是不是真的找几个IT民工,就能做的比他更好呢?

12306网站的核心功能是完整的,合格的

◆ 核心功能完善,购票,查询余票,付款等核心功能完整

◆ 安全过关:没有csdn的密码泄漏,没有京东的用户联系方式泄漏

◆ 数据一致性过关:没有一票两卖。当然有付款了但没拿到票这种情况,但出现这种现象应该说是业务规则,30分钟没完成付款,票就收回(后改为45分钟)。所以超时的付款最终不会体现出来

◆ 性能、并发不如意:登不上,不能交易,超时等现象大量出现

对比现象

◆ 京东图书促销:按照京东公布的数据,京东618订单40万笔,成交金额超过2亿。服务器死卡

◆ 淘宝商城光棍节促销,成绩约50亿,大量商家超卖。属于严重的数据不一致事故。

◆ 淘宝,京东是国内电子商务公司中技术顶尖的企业了,都有数以千计的技术人员,十年左右的技术积累,但到高并发来临时都会遇到种种问题。那12306呢,今年匆忙上线,就有如此成绩(pv约10亿次,交易笔数约100万笔)而没有直接关闭也没有严重的数据不一致问题,我觉得是很不容易的。

UI基本是没有设计的

◆ UI还停留在10年前的样式,就不多说了。产品经理丢下UI,只管做好核心功能,在官大一级压死人的政府部门,是需要勇气的。

总之,12306是半个完整的产品

核心功能完整,但UI未完成就赶鸭子上架了。它的产品经理这一点做的很好,比某些每个功能都有,都差不多,但每个功能都不完整的产品好太多了。经历今年的春运,总结经验,进一步完善,坚持下去的话,明年也许能更好

匆忙开发,匆忙上线。刚上线就需要直接面对10亿级别的PV,数百万的交易。我想在全球也没有人敢说,他就可以组建一个新团队把这个产品做得完美无缺。

12306的产品团队被所有人骂了,我买票的时候也骂过。

但在之后的思考后,他们在我心中是强者,我甚至于非常佩服他们。

作者:Shinn

原文:http://www.cnblogs.com/shinn/archive/2012/01/11/2318654.html

网友观点:

1.12306应该是6月就上线了吧,上线时间不短了,应该不能算是一个新团队吧。

2.没出数据错误不代表他的设计就很好,有种叫做保守式并发,还有种叫做开放式并发;

3.交易笔数真的有100W笔么,这个我表示怀疑,我做了一订票工具,后台统计大概有2K6左右的人在使用,但是订到票的只有区区59张,按照这个来估算,交易量应该是不到100W的。

4. 12306还有很多可以优化的地方,有些是从业务层面的,有些是从技术层面的。业务层面举一个简单的例子:现在预定成功后有45分钟的锁定时间,这45分钟如果支付失败这时会要求重新登录,这段时间登录是很困难的,就很容易造成需登录不上去付不了款,如果最终超过45分钟,那么这部分用户也会重新加入预定大军中。我们是否可以考虑把待付款与预定用户分开,预定成功后进入另一通道,保证这个通道是顺畅的,当这部分用户购票完成后业务流也就算完成了,也就不会增加那么多无谓的PV了。而预定成功的用户量毕竟是少数,为了保证这个通道顺畅需要的服务器资源的也是很少的。

5.一个政府服务站点供全国人民服务的,就不应该做成这样。

6.骂他们的同时 也应该扪心自问,如果是我们会怎样。

【编辑推荐】

  1. 脚本帮你从12306反复登录和查询中彻底解放
  2. 业内称系统架构规划问题为12306瘫痪主因
  3. 编码20年的老程序员分享所积累的20条编程经验
  4. 牛人分享网上订火车票的小技巧:Firefox+Firebug
  5. 编写高质量JavaScript代码的基本要点
责任编辑:陈贻新 来源: Shinn的博客
相关推荐

2017-11-09 10:27:02

BPM信息化CIO

2012-01-10 10:37:19

火车票12306

2012-11-23 10:02:16

网购火车票淘宝

2012-09-18 09:20:21

2012-01-09 10:01:50

网上订票

2012-01-10 11:16:45

2013-01-21 14:50:19

GitHub

2024-05-28 09:12:10

2010-01-20 17:23:03

C++编程语言

2022-10-21 08:17:13

MongoDB查询Document

2021-11-19 11:16:29

Git命令Linux

2019-09-16 08:40:42

2020-03-12 07:42:49

代码程序员

2012-01-06 10:19:27

12306.cn建议

2010-04-22 14:38:24

培训

2014-04-02 10:20:20

锐捷网络云课堂

2020-03-04 08:47:10

Kafka架构原理

2019-10-21 09:14:00

Wireshark网络抓包

2022-09-22 13:56:56

线程Java

2022-04-22 13:38:26

区块链加密货币安全
点赞
收藏

51CTO技术栈公众号