12306和天猫到底哪个难做,12306真的值三亿?

[复制链接]
dos700 发表于 2023-9-14 18:31:31|来自:北京 | 显示全部楼层 |阅读模式
之前看到“前淘宝工程师谈12306:做它比做淘宝难”
我很不赞同此人的观点,不知道大家怎么认为,求大神解答?
全部回复5 显示全部楼层
周敏姐姐 发表于 2023-9-14 18:31:42|来自:北京 | 显示全部楼层
当然是淘宝天猫更难。
12306被大家神话了

最近几年大家把12306吹的神乎其神,吹并发量是其一,吹的最多的是12306的算法复杂度,动态调整车票。
但其实12306的各个区间票量都是人工提前定好的,不存在动态调整票量这事儿。你不信马上验证:任选一趟高铁,起点站-终点站比如上海-北京大概率是有票的,区间站比如上海-徐州很可能是没票的。
动态调整车票从经济角度讲根本不划算,就比方说上海-北京,假如有人买了昆山-苏州,那整趟上海-北京票量就少一张,谁能保证昆山-北京路段就恰好还有人买呢?如果就空着,这根本没法最大化利用铁路资源好吧?
从技术上讲这也是脑瘫实现,多少机器资源都会被吃光的,架构师脑子被驴踢了才会这么干。
12306复杂度就一个小淘宝

从钱的角度讲,淘宝是阿里巴巴的台柱子和赚钱机器,阿里早期的和后期赚的钱也大多灌给了淘宝。而12306只是铁总的一个部门,还是非盈利部门,资源方面根本没法跟淘宝比,投入的金钱是数量级的差距。
从技术人员的角度讲,淘宝可能国际上不算复杂的应用,但依然成为了互联网技术人员的黄埔军校之一,涌现了众多技术大牛,也开源了很多工具和算法,我就用过jackdon和druid,你们用过12306开源的任何产品和工具吗?
既然12306比淘宝还复杂,有听说过12306出过什么技术大牛吗?难道都是无名扫地僧?有听说过12306像bat一样一届招上万技术人员吗?
12306业务和技术这么复杂,解决这件事的过程中,开源算法有吗,开源工具有吗。
没有的,没听说过。因为12306比淘宝京东拼多多这些电商差多了。
他的所有区间车票都是定好的,跟淘宝卖东西是一模一样的,卖掉一张票也是库存-1的,不会是傻乎乎动态的计算其他区间余票的。
过去没有12306的时候是怎么调整票量,现在就是怎么调整票量的,一点都没变。现在12306的票量调整机制也是有很大缺陷的:
比如说北京-上海高铁,北京-上海区间分配了80%的票,而北京-徐州只分配了3%的票,如果北京-徐州人特别多,你会发现北京-徐州票秒没,于是你不得不扩大区间买北京-上海的票。但也有很多人舍不得多花这些钱,于是你会发现,一方面北京-徐州抢票抢不到,但你上车后却车厢里空空如也,北京-徐州区间空跑了一路。。。
所以说,12306和铁总的业务确实极其复杂,但12306的真正实现却并不复杂的,改进的空间还有很大的。
不活 发表于 2023-9-14 18:32:22|来自:北京 | 显示全部楼层
可以看看鸟哥的这边文章,剖析的还是比较合理的。
别再吐槽12306了,有本事你来写架构
slipknot 发表于 2023-9-14 18:32:33|来自:北京 | 显示全部楼层
看知乎上大哈的说法,确实感觉12306难得多啊。
淘宝规模大处理需求大,但是数据结构比较粗暴简单。
12306卖票是各种牵一发而动全身的计算,复杂度就大得多。而且因为集中放票,12306需求丝毫不小于淘宝。每一次刷新要求也不低。你见过淘宝双12用刷购衣服的吗?。。。何况抢票软件还能刷个几万次,12306服务器真的挺强的。。
另外还有各种个自铁路局不定期的锁票,限售,大调图,这些都要12306自己去部署好,不像淘宝那样是店主做的事情,这些都会增加难度。
shzlq 发表于 2023-9-14 18:33:29|来自:北京 | 显示全部楼层
12306难。
淘宝上一个商品没了就没了,铁路线上一个车次N种组合要被人抢,一旦少了一张,那组合还要重新算~~~
kin 发表于 2023-9-14 18:33:44|来自:北京 | 显示全部楼层
update:
算了,我放点猛料吧,12306的承建方不知道大家记不记得,嗯,这家公司是我原单位的控股子公司。(各位老同事好...)
有次出差,遇到12306研发团队的同事,我当然不认识,但我的boss认识,大家就一块儿吃饭聊了一下。事情是这样的,原铁道部下面,有一家牛逼轰轰(当然不是技术上)的研究院(别搜!!),当时的某些核心系统,比如财务相关的,都是这家研究院研发的(我觉得叫开发的比较合适,体会一下)。在建设12306的过程中,这家研究院不愿意放弃核心系统的主导权,原因你懂的,但是这波人技术呢,确实是有限,所以最后就是,部分重要的核心系统,性能成为瓶颈,他们又搞不定又不肯放,教主来了也没辙。所以,据这波同事说,他们当时去铁道部,客户对他们还是少见的客气,因为知道他们帮忙背了个大黑锅。
以上内容不保证准确性,都是饭桌上聊的,自己感受吧。
同意。
个人看法:电商最头疼的是什么模块?订单?支付?nonono,是——库存!!!
为什么?因为库存是多读多写的场景,是整个性能的瓶颈!
订单,就用户一个人可以写,你爱怎么改怎么改,分布式也好做,反正只有单写。其他支付,商品等等,都是类似,一般都是单写。
库存不一样,同一个sku每个订单都要改库存,这太恐怖了,一般电商还可以通过分仓库,预分配等手段解决,火车票你怎么搞!!分仓库?哦,今天北京发往上海的xxx车钱,华北地区还有三张票,西南地区库存为0?不可能!!!全国人民在极短的时间内,大量订单抢同一个库存,这本来就已经非常困难了,再加上,几乎所有热门车票都特么这么抢!而且,一列火车,由于乘客的起始站和终点站不同,可以逻辑上分成多种商品,但这些商品又相互有库存关联,无法划为独立sku...想想就头疼,再加上在多写的库上做分布式,同步问题又是老大难。
所以,12306非常困难!!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则