作为程序员,你可以开发一个 12306 嘛

2023-01-05 11:01:29 +08:00
 mobaijun

或者在原理上该如何实现一个 12306 ,技术难点有哪些,欢迎大家讨论

16468 次点击
所在节点    程序员
175 条回复
sam384sp4
2023-01-05 11:45:29 +08:00
感觉难度被夸大了。
用 bit 表示列车的站点区间,卖出一张票,就把对应的 bit 置 true , 若对应区间都是 false 表示可乘。一趟列车不会超过 32 个停靠站,4 字节就够表示一趟列车上一个座位的售卖情况。全国 2 个月内的也就几个 G 内存就能装下。

余票查询操作全部是内存计算,没有 rpc ,没有锁甚至没有 cas 操作,可以做到单机很高的并发
xiangchen2011
2023-01-05 11:49:50 +08:00
loading
2023-01-05 11:50:40 +08:00
可以,大概 2000 元预算就可以了。
imzcg2
2023-01-05 11:54:36 +08:00
找几个 985 计算机研究生就能搞定了,哪里需要什么复杂的技术和大量的资金投入啊
picone
2023-01-05 11:57:04 +08:00
@sam384sp4 #1 一个 bit 只能表示有或者无票吧,实际上是要表示票剩下数量有多少
xtreme1
2023-01-05 11:57:44 +08:00
这个话题 v2 之前对喷过好几页
wu67
2023-01-05 12:01:57 +08:00
系统本身应该就是调度算法和卖票相关的算法难. 以及更多的难处是要抗住全国节假日的短时间并发量、以及各黄牛 /脚本的外挂刷刷刷.
dqzcwxb
2023-01-05 12:02:14 +08:00
精英全在 v2🙏
hfl1995
2023-01-05 12:05:05 +08:00
一般的商城系统就可以,每个旅程段的车票无限多,根据订单现场造火车。
morty0
2023-01-05 12:07:30 +08:00
@sam384sp4 #1 一个位图就解决啦?
darkengine
2023-01-05 12:10:13 +08:00
@sam384sp4 “卖出一张票”,魔鬼藏在这里呢。
churchill
2023-01-05 12:10:43 +08:00
这楼里都是没有实际做过项目的产品在叨逼叨?
abersheeran
2023-01-05 12:10:54 +08:00
精英全在 v2🙏12306 就该来这边找外包,还搞什么全球招标。
kekxv
2023-01-05 12:12:52 +08:00
有没有考虑过一个问题,比如一条线起点 a ,能到 b 和 c ,需要保证到 b 点的人至少百分之 60 能买到票,然后到 c 点的也要有百分之 60 (还包括 b 点上车的)能买到票,如果这样、还算简单吗?
kekxv
2023-01-05 12:13:58 +08:00
再加上需要为线下保留百分之 10 的或者百分之五的票,为不方便网上买票的用户购买
sparkpark
2023-01-05 12:14:58 +08:00
v2 真牛,12306 没请你们真是失败
liprais
2023-01-05 12:16:10 +08:00
不能
别做梦了,业务复杂到你不可想象
wonderfulcxm
2023-01-05 12:16:42 +08:00
我觉得这是很难的,座位算法是牵一发动全身那种,不只有直达,还会影响换乘的线路和时间,并且即时更新,加上超高并发,比双十一抢购还要难。
ttgo
2023-01-05 12:18:43 +08:00
技术很简单,但不便宜哦,因为 v 友的时薪都很高。
按 12306 的工作量,最低 3000 块钱,并且,你得先付 1500 的定金。
mrgeneral
2023-01-05 12:21:08 +08:00
原理不复杂,本质上还是商品售卖服务,就是商品级联的业务逻辑比较复杂,但是任何服务好用和能用背后的成本是两回事。

同理可以类推:搜索,从 like 语法到语义识别直接给答案,云泥之别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX