由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 古德霸放个带细节设计的方案吧
相关主题
无论如何抢,最后顶多10张票会有些震荡老魏,主角是你,你的东西太简单了
继续,好虫这个赌约我接了干活到了一个阶段,刚搞定一个东西,上来总结一下老魏
数据库分票策略老魏老姜老霸,我出银子给你们开机器
来,老姜你告诉我,这个计数器有啥用?老魏算了三个月,结论是做不了
赵老师你别看不起做机器的在讨论12306前
还有谁认为我的架构和实现不支持transaction的?古德霸啊古德霸,不打你脸是不行了
老魏号称100%出票,现在的算法有碎片化问题吧。100%出票还真没在赌约里。
怎么协议里面会有length?魏公公,赌局我接了,你把500万/秒的订票系统做出来
相关话题的讨论汇总
话题: 窗口话题: 计数器话题: 老魏话题: 系统话题: 排队
进入Programming版参与讨论
1 (共1页)
b*******s
发帖数: 5216
1
怎么设计票,怎么分布,怎么同步,性能怎么估算等等
几个著名互联网公司的也可以参与一下加以完善
是个向你们学习的好机会
z****e
发帖数: 54598
2
你先把二爷三个月前的帖子看看再说吧
古德霸都说烂掉了
实在不行,看看1989那个id的文章也行啊
翻来覆去的说,你不烦,我都烦啊
b*******s
发帖数: 5216
3
就那个方案啊,呵呵呵

你先把二爷三个月前的帖子看看再说吧
古德霸都说烂掉了
实在不行,看看1989那个id的文章也行啊
翻来覆去的说,你不烦,我都烦啊

【在 z****e 的大作中提到】
: 你先把二爷三个月前的帖子看看再说吧
: 古德霸都说烂掉了
: 实在不行,看看1989那个id的文章也行啊
: 翻来覆去的说,你不烦,我都烦啊

g*****g
发帖数: 34805
4
我记得当时你也参与讨论的,莫非我记错了。
http://www.mitbbs.com/article/Programming/31281349_0.html

【在 b*******s 的大作中提到】
: 怎么设计票,怎么分布,怎么同步,性能怎么估算等等
: 几个著名互联网公司的也可以参与一下加以完善
: 是个向你们学习的好机会

z****e
发帖数: 54598
5
呵什么呀,少装了
人家可靠多了
至少比计数器那是要强到不知道哪里去了
我都不好意思说出来,用计数器的话
骗人死全家

【在 b*******s 的大作中提到】
: 就那个方案啊,呵呵呵
:
: 你先把二爷三个月前的帖子看看再说吧
: 古德霸都说烂掉了
: 实在不行,看看1989那个id的文章也行啊
: 翻来覆去的说,你不烦,我都烦啊

g*****g
发帖数: 34805
6
我记得当时无数人质问了无数细节,最后绝大部分人同意架构是可行的,有人不满意出
票有延迟罢了。我这个东西不是宇宙最强,就是能用而已。需要妥协的地方我也开篇就
说,不需要吹得天下无敌,到头来连个计数器都要别人给打补丁。

【在 b*******s 的大作中提到】
: 就那个方案啊,呵呵呵
:
: 你先把二爷三个月前的帖子看看再说吧
: 古德霸都说烂掉了
: 实在不行,看看1989那个id的文章也行啊
: 翻来覆去的说,你不烦,我都烦啊

b*******s
发帖数: 5216
7
等我先从头看一遍

【在 g*****g 的大作中提到】
: 我记得当时你也参与讨论的,莫非我记错了。
: http://www.mitbbs.com/article/Programming/31281349_0.html

n*****t
发帖数: 22014
8
能用啥啊,现 12306 峰值 26K,你连这指标都达不到,玩闹啊

【在 g*****g 的大作中提到】
: 我记得当时无数人质问了无数细节,最后绝大部分人同意架构是可行的,有人不满意出
: 票有延迟罢了。我这个东西不是宇宙最强,就是能用而已。需要妥协的地方我也开篇就
: 说,不需要吹得天下无敌,到头来连个计数器都要别人给打补丁。

l*****9
发帖数: 9501
9
峰值有个鸟关系,不丢单,公平,克黄牛,比现在的12306丢单无数强多了

【在 n*****t 的大作中提到】
: 能用啥啊,现 12306 峰值 26K,你连这指标都达不到,玩闹啊
g*****g
发帖数: 34805
10
我那是系统要求低,不是说最多10k。再说了,一天8分钟票就能出完,网站不当,不比
刷一天票都连不上强?

【在 n*****t 的大作中提到】
: 能用啥啊,现 12306 峰值 26K,你连这指标都达不到,玩闹啊
相关主题
还有谁认为我的架构和实现不支持transaction的?老魏,主角是你,你的东西太简单了
老魏号称100%出票,现在的算法有碎片化问题吧。干活到了一个阶段,刚搞定一个东西,上来总结一下老魏
怎么协议里面会有length?老魏老姜老霸,我出银子给你们开机器
进入Programming版参与讨论
b*******s
发帖数: 5216
11
嗯,你是基本把可用性放在最高优先级了,基本放弃了实时性,假定用户可以忍受长时
间得不到结果,具体多长我们可以分析一下
后台先分析你不做并发,前台目前是高峰1秒100k-200k的requests,假定你的前台都
撑住了,接下了所有单子,然后后台一个单线程不用任何锁进行顺序处理。12306在走
全内存数据库前的数据是比现在慢75倍,现在是一个查询70-80ms,假定这一秒是100k
单子,按照顺序处理,全部处理完是70-80分钟,也就是在高峰下单的用户,最多要等
那么久。
你觉得这是个可以接受的结果?

【在 g*****g 的大作中提到】
: 我那是系统要求低,不是说最多10k。再说了,一天8分钟票就能出完,网站不当,不比
: 刷一天票都连不上强?

b*******s
发帖数: 5216
12
如果我是用户,我肯定会拼命点提交button,这样这个系统会产生多少新订单呢?

100k

【在 b*******s 的大作中提到】
: 嗯,你是基本把可用性放在最高优先级了,基本放弃了实时性,假定用户可以忍受长时
: 间得不到结果,具体多长我们可以分析一下
: 后台先分析你不做并发,前台目前是高峰1秒100k-200k的requests,假定你的前台都
: 撑住了,接下了所有单子,然后后台一个单线程不用任何锁进行顺序处理。12306在走
: 全内存数据库前的数据是比现在慢75倍,现在是一个查询70-80ms,假定这一秒是100k
: 单子,按照顺序处理,全部处理完是70-80分钟,也就是在高峰下单的用户,最多要等
: 那么久。
: 你觉得这是个可以接受的结果?

z*******3
发帖数: 13709
13
你是没走过春运吗?
以前民工通宵排队
一夜风流,就为了那几张票
等个60分钟就吃不消了?
谁告诉你的?

100k

【在 b*******s 的大作中提到】
: 嗯,你是基本把可用性放在最高优先级了,基本放弃了实时性,假定用户可以忍受长时
: 间得不到结果,具体多长我们可以分析一下
: 后台先分析你不做并发,前台目前是高峰1秒100k-200k的requests,假定你的前台都
: 撑住了,接下了所有单子,然后后台一个单线程不用任何锁进行顺序处理。12306在走
: 全内存数据库前的数据是比现在慢75倍,现在是一个查询70-80ms,假定这一秒是100k
: 单子,按照顺序处理,全部处理完是70-80分钟,也就是在高峰下单的用户,最多要等
: 那么久。
: 你觉得这是个可以接受的结果?

z*******3
发帖数: 13709
14
根据身份证做一个筛选就行了
取最前面的那个req,剩下相同的订单全部丢弃
同一个ip地址在一分钟内不准多次发送请求
这个你应该看看老魏注册机在做啥
想明白怎么对付老魏的注册机,就知道怎么对付多次发送的请求了
都做烂了

【在 b*******s 的大作中提到】
: 如果我是用户,我肯定会拼命点提交button,这样这个系统会产生多少新订单呢?
:
: 100k

b*******s
发帖数: 5216
15
你的10k系统,说实话,也就非春运期间用用
如果要实用化,你得给出如何面对每秒100-200k订单的设计

【在 g*****g 的大作中提到】
: 我那是系统要求低,不是说最多10k。再说了,一天8分钟票就能出完,网站不当,不比
: 刷一天票都连不上强?

z*******3
发帖数: 13709
16
爆web instances
太容易了
正常人都这个思路
爆网卡才算是奇芭

【在 n*****t 的大作中提到】
: 能用啥啊,现 12306 峰值 26K,你连这指标都达不到,玩闹啊
z*******3
发帖数: 13709
17
爆instances

【在 b*******s 的大作中提到】
: 你的10k系统,说实话,也就非春运期间用用
: 如果要实用化,你得给出如何面对每秒100-200k订单的设计

z*******3
发帖数: 13709
18
你是对的
给他们好好上上课
后生可畏啊

【在 l*****9 的大作中提到】
: 峰值有个鸟关系,不丢单,公平,克黄牛,比现在的12306丢单无数强多了
b*******s
发帖数: 5216
19
就是,点了一下button,然后80分钟内改订单什么都不行
好牛的设计,就跟你电视选了个台,然后80分钟不允许你换台
果然全堆无敌

【在 z*******3 的大作中提到】
: 根据身份证做一个筛选就行了
: 取最前面的那个req,剩下相同的订单全部丢弃
: 同一个ip地址在一分钟内不准多次发送请求
: 这个你应该看看老魏注册机在做啥
: 想明白怎么对付老魏的注册机,就知道怎么对付多次发送的请求了
: 都做烂了

b*******s
发帖数: 5216
20
同步问题就出来了,这是你们排队所力图避免的

【在 z*******3 的大作中提到】
: 爆instances
相关主题
老魏算了三个月,结论是做不了100%出票还真没在赌约里。
在讨论12306前魏公公,赌局我接了,你把500万/秒的订票系统做出来
古德霸啊古德霸,不打你脸是不行了系统设计的基本素养
进入Programming版参与讨论
n*****t
发帖数: 22014
21
60 分钟能拿到票也就算了,拿不到我换个车次还得重新排队,这是搞哪样啊?

【在 z*******3 的大作中提到】
: 你是没走过春运吗?
: 以前民工通宵排队
: 一夜风流,就为了那几张票
: 等个60分钟就吃不消了?
: 谁告诉你的?
:
: 100k

z*******3
发帖数: 13709
22
下订单异步处理,解决峰值时候拥堵的问题
这么简单的思路,三个月了还理解不了
我的天
你定火车票经常改吗?常识
ok?

【在 b*******s 的大作中提到】
: 就是,点了一下button,然后80分钟内改订单什么都不行
: 好牛的设计,就跟你电视选了个台,然后80分钟不允许你换台
: 果然全堆无敌

n*****t
发帖数: 22014
23
哥,现在黄牛都撰着一把身份证捏

【在 z*******3 的大作中提到】
: 根据身份证做一个筛选就行了
: 取最前面的那个req,剩下相同的订单全部丢弃
: 同一个ip地址在一分钟内不准多次发送请求
: 这个你应该看看老魏注册机在做啥
: 想明白怎么对付老魏的注册机,就知道怎么对付多次发送的请求了
: 都做烂了

b*******s
发帖数: 5216
24
古德霸的设计,如果回避了后端并发,加上赵全堆的补丁
就是死机80分钟的表现

【在 n*****t 的大作中提到】
: 60 分钟能拿到票也就算了,拿不到我换个车次还得重新排队,这是搞哪样啊?
b*******s
发帖数: 5216
25
如果80分钟没反应,期间我可不是你那种自high的乖孩子

【在 z*******3 的大作中提到】
: 下订单异步处理,解决峰值时候拥堵的问题
: 这么简单的思路,三个月了还理解不了
: 我的天
: 你定火车票经常改吗?常识
: ok?

z*******3
发帖数: 13709
26
只接单,不用实时处理
然后汇总,随便做
接单时候爆instances
有多少吃多少,每个req做一个时间戳
最后筛掉之后,按照时间戳排序
很难么?
mongodb做内存管理的,可以帮忙
当然我们一般用c*

【在 b*******s 的大作中提到】
: 同步问题就出来了,这是你们排队所力图避免的
b*******s
发帖数: 5216
27
最多10k我相信你绝对没问题,问题是你和需求似乎不是很相关

【在 g*****g 的大作中提到】
: 我那是系统要求低,不是说最多10k。再说了,一天8分钟票就能出完,网站不当,不比
: 刷一天票都连不上强?

z*******3
发帖数: 13709
28
同一车次,如果满了,自然就没票了
你还排啥?这就跟高考一样,你第一次考不好,明天继续考?
那谁不考?对付稀缺资源,这一套就只有这样了

【在 n*****t 的大作中提到】
: 60 分钟能拿到票也就算了,拿不到我换个车次还得重新排队,这是搞哪样啊?
b*******s
发帖数: 5216
29
我的质疑不在接单能力

【在 z*******3 的大作中提到】
: 只接单,不用实时处理
: 然后汇总,随便做
: 接单时候爆instances
: 有多少吃多少,每个req做一个时间戳
: 最后筛掉之后,按照时间戳排序
: 很难么?
: mongodb做内存管理的,可以帮忙
: 当然我们一般用c*

n*****t
发帖数: 22014
30
异步处理本来就是奇葩,比现在的系统都不如,你干脆撤掉网站让居委会大妈登记叫号
得了

【在 z*******3 的大作中提到】
: 下订单异步处理,解决峰值时候拥堵的问题
: 这么简单的思路,三个月了还理解不了
: 我的天
: 你定火车票经常改吗?常识
: ok?

相关主题
铁道部的订票系统我的解决想法继续,好虫这个赌约我接了
其实就是两党党争数据库分票策略
无论如何抢,最后顶多10张票会有些震荡来,老姜你告诉我,这个计数器有啥用?
进入Programming版参与讨论
z*******3
发帖数: 13709
31
黄牛未必有你快啊,而且你以为你做了real time
人家就不上了?人家还黑了一堆肉鸡冲你同时发请求呢

【在 n*****t 的大作中提到】
: 哥,现在黄牛都撰着一把身份证捏
z*******3
发帖数: 13709
32
时间戳

【在 b*******s 的大作中提到】
: 我的质疑不在接单能力
b*******s
发帖数: 5216
33
如果你敲一下键盘,60分钟屏幕上有反馈,这叫?

【在 z*******3 的大作中提到】
: 同一车次,如果满了,自然就没票了
: 你还排啥?这就跟高考一样,你第一次考不好,明天继续考?
: 那谁不考?对付稀缺资源,这一套就只有这样了

z*******3
发帖数: 13709
34
再奇芭也不能跟老魏的网卡做异步比
那简直就不是奇芭,而是搞笑了

【在 n*****t 的大作中提到】
: 异步处理本来就是奇葩,比现在的系统都不如,你干脆撤掉网站让居委会大妈登记叫号
: 得了

n*****t
发帖数: 22014
35
我有 12 个车次选择,我还想跟相好的一起走,你能不能告诉我哪些车有票先啊,尼玛
不能连窗口卖票还不如吧

【在 z*******3 的大作中提到】
: 同一车次,如果满了,自然就没票了
: 你还排啥?这就跟高考一样,你第一次考不好,明天继续考?
: 那谁不考?对付稀缺资源,这一套就只有这样了

z*******3
发帖数: 13709
36
哎哟我的妈哟
天哪,有人是真不懂啊
二爷我败了,真败了

【在 b*******s 的大作中提到】
: 如果你敲一下键盘,60分钟屏幕上有反馈,这叫?
b*******s
发帖数: 5216
37
你又没看懂,我靠

【在 z*******3 的大作中提到】
: 时间戳
b*******s
发帖数: 5216
38
没错,比窗口卖票还不如

【在 n*****t 的大作中提到】
: 我有 12 个车次选择,我还想跟相好的一起走,你能不能告诉我哪些车有票先啊,尼玛
: 不能连窗口卖票还不如吧

n*****t
发帖数: 22014
39
所以啥狗屁能挡黄牛就是笑话,不提也罢

【在 z*******3 的大作中提到】
: 黄牛未必有你快啊,而且你以为你做了real time
: 人家就不上了?人家还黑了一堆肉鸡冲你同时发请求呢

z*******3
发帖数: 13709
40
时间戳了
那你还能怎样?
窗口票和网络定票配额分开了
这个要凑一起,基本上窗口没票卖了
不过现在窗口也没啥票可卖

【在 n*****t 的大作中提到】
: 我有 12 个车次选择,我还想跟相好的一起走,你能不能告诉我哪些车有票先啊,尼玛
: 不能连窗口卖票还不如吧

相关主题
来,老姜你告诉我,这个计数器有啥用?老魏号称100%出票,现在的算法有碎片化问题吧。
赵老师你别看不起做机器的怎么协议里面会有length?
还有谁认为我的架构和实现不支持transaction的?老魏,主角是你,你的东西太简单了
进入Programming版参与讨论
b*******s
发帖数: 5216
41
呵呵,你可以改名叫西方失败了

【在 z*******3 的大作中提到】
: 哎哟我的妈哟
: 天哪,有人是真不懂啊
: 二爷我败了,真败了

z*******3
发帖数: 13709
42
我哭了
异步对于你来说实在是太难了
你们c++程序员不是第一次有人这样犯傻了
啧啧,还是学js吧,java太复杂了

【在 b*******s 的大作中提到】
: 呵呵,你可以改名叫西方失败了
n*****t
发帖数: 22014
43
老魏那网卡也就几千刀,有啥毛病了?

【在 z*******3 的大作中提到】
: 再奇芭也不能跟老魏的网卡做异步比
: 那简直就不是奇芭,而是搞笑了

z*******3
发帖数: 13709
44
我看懂了,这次是真看懂了
我不骗人,等其它人来教育你
我败北了

【在 b*******s 的大作中提到】
: 你又没看懂,我靠
n*****t
发帖数: 22014
45
我不管你那红戳还是白戳,我就想问哪些车有票,我得跟相好的打个电话

【在 z*******3 的大作中提到】
: 时间戳了
: 那你还能怎样?
: 窗口票和网络定票配额分开了
: 这个要凑一起,基本上窗口没票卖了
: 不过现在窗口也没啥票可卖

z*******3
发帖数: 13709
46
顶多说是,能跟黄牛在同一时间段内竞争
还有就是网站别挂了,你再看看1989那孩子说的

【在 n*****t 的大作中提到】
: 所以啥狗屁能挡黄牛就是笑话,不提也罢
z*******3
发帖数: 13709
47
换网卡这种硬件是属于不elasticity的策略

【在 n*****t 的大作中提到】
: 老魏那网卡也就几千刀,有啥毛病了?
b*******s
发帖数: 5216
48
我算的80ms一个锁票,高峰一秒100k-200k请求,导致这一秒内有些用户要80分钟才知
道订上了没有,你怎么看
设想你到窗口买票,售票员对你说,请等80分钟,然后我告诉你买上了没哦,亲

【在 z*******3 的大作中提到】
: 我哭了
: 异步对于你来说实在是太难了
: 你们c++程序员不是第一次有人这样犯傻了
: 啧啧,还是学js吧,java太复杂了

b*******s
发帖数: 5216
49
当然,我已经想好补丁了

【在 b*******s 的大作中提到】
: 我算的80ms一个锁票,高峰一秒100k-200k请求,导致这一秒内有些用户要80分钟才知
: 道订上了没有,你怎么看
: 设想你到窗口买票,售票员对你说,请等80分钟,然后我告诉你买上了没哦,亲

n*****t
发帖数: 22014
50
那不结了,跟计数器一样,一起竞争。网站挂了更是伪科学了,但凡这种系统,肯定一
堆协议,神马定时、心跳、热备份、组播,等等等等,谁要没想到当鸡就敢上,谁就是
泡咖啡的

【在 z*******3 的大作中提到】
: 顶多说是,能跟黄牛在同一时间段内竞争
: 还有就是网站别挂了,你再看看1989那孩子说的

相关主题
干活到了一个阶段,刚搞定一个东西,上来总结一下老魏在讨论12306前
老魏老姜老霸,我出银子给你们开机器古德霸啊古德霸,不打你脸是不行了
老魏算了三个月,结论是做不了100%出票还真没在赌约里。
进入Programming版参与讨论
z*******3
发帖数: 13709
51
你说的不是这个,哈哈

【在 b*******s 的大作中提到】
: 我算的80ms一个锁票,高峰一秒100k-200k请求,导致这一秒内有些用户要80分钟才知
: 道订上了没有,你怎么看
: 设想你到窗口买票,售票员对你说,请等80分钟,然后我告诉你买上了没哦,亲

n*****t
发帖数: 22014
52
扯,还有更高大上的 fancy 玩意呢,而且,如果只做 1M/s which is 10X faster
then urs,我估摸 wifi 都够了

【在 z*******3 的大作中提到】
: 换网卡这种硬件是属于不elasticity的策略
b*******s
发帖数: 5216
53
嗯,我以为你说的时间戳是用来解决这个问题的了
有时帖子会看窜掉

【在 z*******3 的大作中提到】
: 你说的不是这个,哈哈
z*******3
发帖数: 13709
54
一起竞争没有错,但是用网卡来排队,那是很神奇的一件事
至少我没听说有谁这么干的

【在 n*****t 的大作中提到】
: 那不结了,跟计数器一样,一起竞争。网站挂了更是伪科学了,但凡这种系统,肯定一
: 堆协议,神马定时、心跳、热备份、组播,等等等等,谁要没想到当鸡就敢上,谁就是
: 泡咖啡的

z*******3
发帖数: 13709
55
装,继续装
哈哈
发信人: brainless (n/a), 信区: Programming
标 题: Re: 古德霸放个带细节设计的方案吧
发信站: BBS 未名空间站 (Wed Feb 5 20:40:51 2014, 美东)
如果你敲一下键盘,60分钟屏幕上有反馈,这叫?

【在 b*******s 的大作中提到】
: 嗯,我以为你说的时间戳是用来解决这个问题的了
: 有时帖子会看窜掉

z*******3
发帖数: 13709
56
正常人不会让网卡做一些逻辑上的处理
所有逻辑处理要集中到一个地方去做
基本上都要自己写代码,然后tune
而不是依赖网卡这种东西

【在 n*****t 的大作中提到】
: 扯,还有更高大上的 fancy 玩意呢,而且,如果只做 1M/s which is 10X faster
: then urs,我估摸 wifi 都够了

n*****t
发帖数: 22014
57
啥玩意不是排队啊,你时间戳比我牛又咋的,谁让你网络比我挫了,网卡排队本身就是
一种天然时间戳,不服不行

【在 z*******3 的大作中提到】
: 一起竞争没有错,但是用网卡来排队,那是很神奇的一件事
: 至少我没听说有谁这么干的

z*******3
发帖数: 13709
58
这还需要补丁吗?

【在 b*******s 的大作中提到】
: 当然,我已经想好补丁了
n*****t
发帖数: 22014
59
艾玛,网卡只不过 bypass kernel 了,你当那玩意能出票出冰激凌咋的?

【在 z*******3 的大作中提到】
: 正常人不会让网卡做一些逻辑上的处理
: 所有逻辑处理要集中到一个地方去做
: 基本上都要自己写代码,然后tune
: 而不是依赖网卡这种东西

z*******3
发帖数: 13709
60
先看懂二爷最近三个月在干嘛
然后再尝试理解其它人说的方案

【在 b*******s 的大作中提到】
: 嗯,我以为你说的时间戳是用来解决这个问题的了
: 有时帖子会看窜掉

相关主题
魏公公,赌局我接了,你把500万/秒的订票系统做出来其实就是两党党争
系统设计的基本素养无论如何抢,最后顶多10张票会有些震荡
铁道部的订票系统我的解决想法继续,好虫这个赌约我接了
进入Programming版参与讨论
z*******3
发帖数: 13709
61
你把这种事交给了网卡
你以后要怎么搞,就很难了
听天由命,这样子是过不去压力测试的
否则我一个prototype打遍天下了

【在 n*****t 的大作中提到】
: 艾玛,网卡只不过 bypass kernel 了,你当那玩意能出票出冰激凌咋的?
n*****t
发帖数: 22014
62
我糊涂了,啥事我交给网卡了啊?莫非还能不用网卡噌一下票就飞到我内存里了?

【在 z*******3 的大作中提到】
: 你把这种事交给了网卡
: 你以后要怎么搞,就很难了
: 听天由命,这样子是过不去压力测试的
: 否则我一个prototype打遍天下了

z*******3
发帖数: 13709
63
代码在你手上,你怎么写都随便
甚至vip想插队都可以实现
但是你把这种逻辑交给了网卡
那这就是另外一回事了
再说instances很贵么?
是吧?
你网卡便宜,我instances也没贵到哪里去
又不是出不起那笔钱,你当铁老大跟你我一样叼丝?

【在 n*****t 的大作中提到】
: 啥玩意不是排队啊,你时间戳比我牛又咋的,谁让你网络比我挫了,网卡排队本身就是
: 一种天然时间戳,不服不行

z*******3
发帖数: 13709
64
领导过来拍拍你肩膀
老姜,我们都是上海人
你对上海的身份证做点优先级处理
10%的请求允许提前处理
你咋办?

【在 n*****t 的大作中提到】
: 我糊涂了,啥事我交给网卡了啊?莫非还能不用网卡噌一下票就飞到我内存里了?
n*****t
发帖数: 22014
65
我前面放个 Cache 鸡不是干部啊,你要 VIP 上那鼓捣去呗,哎 。。。

【在 z*******3 的大作中提到】
: 代码在你手上,你怎么写都随便
: 甚至vip想插队都可以实现
: 但是你把这种逻辑交给了网卡
: 那这就是另外一回事了
: 再说instances很贵么?
: 是吧?
: 你网卡便宜,我instances也没贵到哪里去
: 又不是出不起那笔钱,你当铁老大跟你我一样叼丝?

z*******3
发帖数: 13709
66
那是你的方案,又不是老魏的
你打的补丁而已

【在 n*****t 的大作中提到】
: 我前面放个 Cache 鸡不是干部啊,你要 VIP 上那鼓捣去呗,哎 。。。
z*******3
发帖数: 13709
67
你的cache机跟web instances差不多一个概念
总之你自己会处理一下
但是用网卡处理,是最神奇的
我下次说给同事听

【在 n*****t 的大作中提到】
: 我前面放个 Cache 鸡不是干部啊,你要 VIP 上那鼓捣去呗,哎 。。。
n*****t
发帖数: 22014
68
擦,我这个方案跟古德八吵了几个礼拜了,你骂我剽窃老魏是吧?
其实老魏的算力也是绰绰有余,协议里加个优先级轻松。管网卡的,收到请求扔队列,
打算盘的优先到 VIP 里去拿。
再说了,前段送个 message 说T1 次 all stop selling,我还能偷偷出票不成?

【在 z*******3 的大作中提到】
: 那是你的方案,又不是老魏的
: 你打的补丁而已

z*******3
发帖数: 13709
69
我的意思是,我没认真看你的方案
这到底说的是谁的方案?
我说网卡,是老魏的

【在 n*****t 的大作中提到】
: 擦,我这个方案跟古德八吵了几个礼拜了,你骂我剽窃老魏是吧?
: 其实老魏的算力也是绰绰有余,协议里加个优先级轻松。管网卡的,收到请求扔队列,
: 打算盘的优先到 VIP 里去拿。
: 再说了,前段送个 message 说T1 次 all stop selling,我还能偷偷出票不成?

n*****t
发帖数: 22014
70
老魏这方案你就这么想,中心节点就干一个活,抢票,其他所有逻辑都在前端。谁先抢
谁后抢,前端就可以排队了。

【在 z*******3 的大作中提到】
: 我的意思是,我没认真看你的方案
: 这到底说的是谁的方案?
: 我说网卡,是老魏的

相关主题
继续,好虫这个赌约我接了赵老师你别看不起做机器的
数据库分票策略还有谁认为我的架构和实现不支持transaction的?
来,老姜你告诉我,这个计数器有啥用?老魏号称100%出票,现在的算法有碎片化问题吧。
进入Programming版参与讨论
z*******3
发帖数: 13709
71
老姜你应该想明白
运算能力是一回事
分层是另外一回事
不是每一次都要把运力往死里逼的

【在 n*****t 的大作中提到】
: 擦,我这个方案跟古德八吵了几个礼拜了,你骂我剽窃老魏是吧?
: 其实老魏的算力也是绰绰有余,协议里加个优先级轻松。管网卡的,收到请求扔队列,
: 打算盘的优先到 VIP 里去拿。
: 再说了,前段送个 message 说T1 次 all stop selling,我还能偷偷出票不成?

z*******3
发帖数: 13709
72
还用抢么?

【在 n*****t 的大作中提到】
: 老魏这方案你就这么想,中心节点就干一个活,抢票,其他所有逻辑都在前端。谁先抢
: 谁后抢,前端就可以排队了。

g*****g
发帖数: 34805
73
没有啥长时间一说,就是几分钟。
后台我当然是做并发得,只不过是单关系数据库,用transaction来保证acid。把单子
按车次排序分队列,这个前端写单子存入得时候就做好了。后端得处理服务器是一个集
群,每次可以从cassandra批量读。另外每隔一秒从数据库里拿出个所有余票的
snapshot,cache到
各个处理服务器上。处理先跟这个cache比较,确认各段都有票,再发到数据库交易。
所以处理是并发得,如果没票的话,不用写入关系数据库,写回cassandra确认订单失
败。
尽管订单很多,峰值达到百万/秒,可用的票很少,根据新闻每天千万人次,一半
12306出,每天不过500万张。这500万张,在一台大机器上,oracle数据库,5k-10k/
秒的速度是一个常规的估计。按5k算的话,也不过1000秒,17分钟。12306其实每天是
分多个时段分票的,结果就是延迟更少,如果每天放票8次,那就是2分钟。这是数据库
的延迟。无效订单有延迟,每次处理无非是查内存里一个数组是否有0,有0就可以放弃
,单操作毫秒级的处理。。而且是多核集群并行处理,完全scale out, 订单很多可以
跟着上去保证处理速度,你觉得这部分延迟有多少?在我看是秒级别的延迟,但让你算
到1分钟也无妨,不过3分钟。就是不分时发票,也不过18分钟到头。如果能做10k 的交
易,更是10分钟以下没压力。

100k

【在 b*******s 的大作中提到】
: 嗯,你是基本把可用性放在最高优先级了,基本放弃了实时性,假定用户可以忍受长时
: 间得不到结果,具体多长我们可以分析一下
: 后台先分析你不做并发,前台目前是高峰1秒100k-200k的requests,假定你的前台都
: 撑住了,接下了所有单子,然后后台一个单线程不用任何锁进行顺序处理。12306在走
: 全内存数据库前的数据是比现在慢75倍,现在是一个查询70-80ms,假定这一秒是100k
: 单子,按照顺序处理,全部处理完是70-80分钟,也就是在高峰下单的用户,最多要等
: 那么久。
: 你觉得这是个可以接受的结果?

n*****t
发帖数: 22014
74
当然抢,不抢白不抢,不抢前段咋知道有票没票,前端只能保证让阿拉上海人先抢,不
保证抢到。
你要究细节,老魏的方案肯定有很多具体的问题,但都不是不能解决的,over

【在 z*******3 的大作中提到】
: 还用抢么?
z*******3
发帖数: 13709
75
时间戳
我第四遍说了
再让我废话,我就插你

【在 n*****t 的大作中提到】
: 当然抢,不抢白不抢,不抢前段咋知道有票没票,前端只能保证让阿拉上海人先抢,不
: 保证抢到。
: 你要究细节,老魏的方案肯定有很多具体的问题,但都不是不能解决的,over

g*****g
发帖数: 34805
76
你可以把备份的车次一次都写进单子,我的单子可以有复杂逻辑。一次都处理。

【在 n*****t 的大作中提到】
: 60 分钟能拿到票也就算了,拿不到我换个车次还得重新排队,这是搞哪样啊?
n*****t
发帖数: 22014
77
时间戳那就是摆设,毫无疑义。再说一遍,你打算拿着时间戳找我打官司咋地,我还说
我的网吧不给力,明明是我先点的鼠标呢。

【在 z*******3 的大作中提到】
: 时间戳
: 我第四遍说了
: 再让我废话,我就插你

l*****9
发帖数: 9501
78
不异步网站必然挂,你知道异步也叫no-blocking IO吗?

【在 n*****t 的大作中提到】
: 异步处理本来就是奇葩,比现在的系统都不如,你干脆撤掉网站让居委会大妈登记叫号
: 得了

n*****t
发帖数: 22014
79
我就想知道哪些车有票,完了我得问小红走不走

【在 g*****g 的大作中提到】
: 你可以把备份的车次一次都写进单子,我的单子可以有复杂逻辑。一次都处理。
g*****g
发帖数: 34805
80
10k出票,不是10k的单。前后分开就是要把这两个的耦合弄开。
能够意识到票子少,单子多,才是这个系统的关键。

【在 b*******s 的大作中提到】
: 最多10k我相信你绝对没问题,问题是你和需求似乎不是很相关
相关主题
怎么协议里面会有length?老魏老姜老霸,我出银子给你们开机器
老魏,主角是你,你的东西太简单了老魏算了三个月,结论是做不了
干活到了一个阶段,刚搞定一个东西,上来总结一下老魏在讨论12306前
进入Programming版参与讨论
n*****t
发帖数: 22014
81
居委会大妈登记也是异步,别整没营养的

【在 l*****9 的大作中提到】
: 不异步网站必然挂,你知道异步也叫no-blocking IO吗?
l*****9
发帖数: 9501
82
你以为现在抢票不是靠时间戳?

【在 n*****t 的大作中提到】
: 时间戳那就是摆设,毫无疑义。再说一遍,你打算拿着时间戳找我打官司咋地,我还说
: 我的网吧不给力,明明是我先点的鼠标呢。

g*****g
发帖数: 34805
83
你可以问那些车次有票,我那数据库又不是不支持查询。每秒拿一个snapshot出来,非
实时,没票下单多半没戏,查到有票下单不保证能买到。比起太监那网站刷都刷不出来
,还是强了无数倍的。

【在 n*****t 的大作中提到】
: 我就想知道哪些车有票,完了我得问小红走不走
n*****t
发帖数: 22014
84
当然不是,谁先插谁生儿子,后插的都是卢瑟

【在 l*****9 的大作中提到】
: 你以为现在抢票不是靠时间戳?
n*****t
发帖数: 22014
85
人家性能是你 500 倍

【在 g*****g 的大作中提到】
: 你可以问那些车次有票,我那数据库又不是不支持查询。每秒拿一个snapshot出来,非
: 实时,没票下单多半没戏,查到有票下单不保证能买到。比起太监那网站刷都刷不出来
: ,还是强了无数倍的。

g*****g
发帖数: 34805
86
我的设计,每个人只用下一次单子,等3分钟,你下多单子没用。单子没处理之前还可
以随便改。单子还支持备选车次,多人等等。整个系统没scale out的只有后台的关系
数据库,3分钟就等在那上面。

【在 b*******s 的大作中提到】
: 古德霸的设计,如果回避了后端并发,加上赵全堆的补丁
: 就是死机80分钟的表现

l*****9
发帖数: 9501
87
当机,丢单,性能好个鸟。没有搞过大数据云计算的不理解C++快的那2秒算个鸟

【在 n*****t 的大作中提到】
: 人家性能是你 500 倍
g*****g
发帖数: 34805
88
他的性能一点不比我的强,我的设计同样可以收5m/秒的单子,多堆机器即可。
他同样不能同步出票,要有延迟。事实上,他会大量丢单,就像12306一样。

【在 n*****t 的大作中提到】
: 人家性能是你 500 倍
l*****9
发帖数: 9501
89
先插不就是时间戳靠前?你鸭不懂最好闭嘴

【在 n*****t 的大作中提到】
: 当然不是,谁先插谁生儿子,后插的都是卢瑟
l*****9
发帖数: 9501
90
你的无知实在太惊人了

【在 n*****t 的大作中提到】
: 居委会大妈登记也是异步,别整没营养的
相关主题
古德霸啊古德霸,不打你脸是不行了系统设计的基本素养
100%出票还真没在赌约里。铁道部的订票系统我的解决想法
魏公公,赌局我接了,你把500万/秒的订票系统做出来其实就是两党党争
进入Programming版参与讨论
e**o
发帖数: 5509
91
铁道部就是太实惠了在这里。
铁道部非得要求网上买票和窗口一样。
其实也有道理,
当时有票当时就能看到,当时就能买到,没票当时就能作决定换别的车次
有票看不到,有票买不到那还要售票网站干什么吃的。

【在 n*****t 的大作中提到】
: 我有 12 个车次选择,我还想跟相好的一起走,你能不能告诉我哪些车有票先啊,尼玛
: 不能连窗口卖票还不如吧

g*****g
发帖数: 34805
92
我的设计一秒中之前的实时数据能让你看到,就这1秒钟可能有100万订单进来所以我保
证不了能买到。
太监的系统也是一样的,你查询有票,你再去下,哪能保证抢到。售票窗口还是一样。
看着有,下的时候就没了。只能说有个先来后到。你到窗口排队,你还能保证有票不成?

【在 e**o 的大作中提到】
: 铁道部就是太实惠了在这里。
: 铁道部非得要求网上买票和窗口一样。
: 其实也有道理,
: 当时有票当时就能看到,当时就能买到,没票当时就能作决定换别的车次
: 有票看不到,有票买不到那还要售票网站干什么吃的。

b*******s
发帖数: 5216
93
和我想的补丁差不多
这是个可行方案

【在 g*****g 的大作中提到】
: 没有啥长时间一说,就是几分钟。
: 后台我当然是做并发得,只不过是单关系数据库,用transaction来保证acid。把单子
: 按车次排序分队列,这个前端写单子存入得时候就做好了。后端得处理服务器是一个集
: 群,每次可以从cassandra批量读。另外每隔一秒从数据库里拿出个所有余票的
: snapshot,cache到
: 各个处理服务器上。处理先跟这个cache比较,确认各段都有票,再发到数据库交易。
: 所以处理是并发得,如果没票的话,不用写入关系数据库,写回cassandra确认订单失
: 败。
: 尽管订单很多,峰值达到百万/秒,可用的票很少,根据新闻每天千万人次,一半
: 12306出,每天不过500万张。这500万张,在一台大机器上,oracle数据库,5k-10k/

e**o
发帖数: 5509
94
你没在窗口买过票。
排队轮到你的了,你问窗口某个车次是否有票,窗口告诉你有,就一定能买到。
窗口能看到,就能买到,好像是他们先hold住,然后告诉你是否有票。
查询即排队,查询即锁定。查别的车次,就释放刚才查询锁定的。
不然窗口早就被砸,被骂百八十遍了。
窗口告诉你没有,那就是当时一定没有。
别的窗口hold的票,没买,重新释放的不算。
但这种情况很少,而且基本上不会发生。
因为你付钱或者查询别的车次的时候这张刚释放出来的牌,早就被别的窗口hold住.

成?

【在 g*****g 的大作中提到】
: 我的设计一秒中之前的实时数据能让你看到,就这1秒钟可能有100万订单进来所以我保
: 证不了能买到。
: 太监的系统也是一样的,你查询有票,你再去下,哪能保证抢到。售票窗口还是一样。
: 看着有,下的时候就没了。只能说有个先来后到。你到窗口排队,你还能保证有票不成?

g*****g
发帖数: 34805
95
就算是你说的队。你是希望刷一天,一多半时间网站根本没相应,反复刷运气好票能出
来。还是任何时候花一分钟添个单子
走人,等着email/短信通知。按顺序该是你的就是你的。
类比的做法就是排半天队,到窗口几乎是这没票,那没票。或者填个单子全国按号排队
,回家等通知。虽然同样没买到,至少是按顺序的,至少没浪费时间。
只要是合理的做法,需求不是不能改的。

【在 e**o 的大作中提到】
: 你没在窗口买过票。
: 排队轮到你的了,你问窗口某个车次是否有票,窗口告诉你有,就一定能买到。
: 窗口能看到,就能买到,好像是他们先hold住,然后告诉你是否有票。
: 查询即排队,查询即锁定。查别的车次,就释放刚才查询锁定的。
: 不然窗口早就被砸,被骂百八十遍了。
: 窗口告诉你没有,那就是当时一定没有。
: 别的窗口hold的票,没买,重新释放的不算。
: 但这种情况很少,而且基本上不会发生。
: 因为你付钱或者查询别的车次的时候这张刚释放出来的牌,早就被别的窗口hold住.
:

e**o
发帖数: 5509
96
窗口重来没发生过,告诉你有票但出不来的情况。这个情况理论上就不存在。
几乎没发生过,当时没有票,过几分钟就有票的情况。但这个情况理论上的确存在。

【在 e**o 的大作中提到】
: 你没在窗口买过票。
: 排队轮到你的了,你问窗口某个车次是否有票,窗口告诉你有,就一定能买到。
: 窗口能看到,就能买到,好像是他们先hold住,然后告诉你是否有票。
: 查询即排队,查询即锁定。查别的车次,就释放刚才查询锁定的。
: 不然窗口早就被砸,被骂百八十遍了。
: 窗口告诉你没有,那就是当时一定没有。
: 别的窗口hold的票,没买,重新释放的不算。
: 但这种情况很少,而且基本上不会发生。
: 因为你付钱或者查询别的车次的时候这张刚释放出来的牌,早就被别的窗口hold住.
:

e**o
发帖数: 5509
97
这么说吧,网站售票必须和窗口一样。
不然乘客没法做决定。一般有很多车次可以选,这个车次没有可以立刻买别的。
按照你的卖法,乘客怎么选?只能尽可能多的买各个车次的,然后再挨个退?
增加多少成本和负担?
最关键的是做决定的实时性没了。
放票就是那么几次,这次买不上,就只能等下次了。
别说火车,有的时候汽车票都很紧张。
某天的火车买不到,就得立刻买汽车,不然汽车票也没了。除非你愿意等。

【在 g*****g 的大作中提到】
: 就算是你说的队。你是希望刷一天,一多半时间网站根本没相应,反复刷运气好票能出
: 来。还是任何时候花一分钟添个单子
: 走人,等着email/短信通知。按顺序该是你的就是你的。
: 类比的做法就是排半天队,到窗口几乎是这没票,那没票。或者填个单子全国按号排队
: ,回家等通知。虽然同样没买到,至少是按顺序的,至少没浪费时间。
: 只要是合理的做法,需求不是不能改的。

e**o
发帖数: 5509
98
合计半天你老利用高科技开发的售票系统,
还没有几十年前的铁路窗口售票系统好使?
当然,人家是专业卖火车票的,你是不是卖票的。最起码不是火车票。
术业有专攻,也情有可原。

【在 g*****g 的大作中提到】
: 就算是你说的队。你是希望刷一天,一多半时间网站根本没相应,反复刷运气好票能出
: 来。还是任何时候花一分钟添个单子
: 走人,等着email/短信通知。按顺序该是你的就是你的。
: 类比的做法就是排半天队,到窗口几乎是这没票,那没票。或者填个单子全国按号排队
: ,回家等通知。虽然同样没买到,至少是按顺序的,至少没浪费时间。
: 只要是合理的做法,需求不是不能改的。

g*****g
发帖数: 34805
99
可以下一个单子,按着你的要求来。 A 没有就 B, B 没有就 C, 一次处理完。不是你
你刷半天强多了。你刷 A 半天,放弃了才想刷 B, 结果也没了,悲惨了。我这个里面
就给你弄出来了。

【在 e**o 的大作中提到】
: 这么说吧,网站售票必须和窗口一样。
: 不然乘客没法做决定。一般有很多车次可以选,这个车次没有可以立刻买别的。
: 按照你的卖法,乘客怎么选?只能尽可能多的买各个车次的,然后再挨个退?
: 增加多少成本和负担?
: 最关键的是做决定的实时性没了。
: 放票就是那么几次,这次买不上,就只能等下次了。
: 别说火车,有的时候汽车票都很紧张。
: 某天的火车买不到,就得立刻买汽车,不然汽车票也没了。除非你愿意等。

g*****g
发帖数: 34805
100
没有排队好使?原来你是喜欢排队,喜欢刷屏的。

【在 e**o 的大作中提到】
: 合计半天你老利用高科技开发的售票系统,
: 还没有几十年前的铁路窗口售票系统好使?
: 当然,人家是专业卖火车票的,你是不是卖票的。最起码不是火车票。
: 术业有专攻,也情有可原。

相关主题
无论如何抢,最后顶多10张票会有些震荡来,老姜你告诉我,这个计数器有啥用?
继续,好虫这个赌约我接了赵老师你别看不起做机器的
数据库分票策略还有谁认为我的架构和实现不支持transaction的?
进入Programming版参与讨论
z*******3
发帖数: 13709
101
那你怪网吧去
时间戳在server side,所有人一个时间排队,有啥不服的?
真想戳你一下

【在 n*****t 的大作中提到】
: 时间戳那就是摆设,毫无疑义。再说一遍,你打算拿着时间戳找我打官司咋地,我还说
: 我的网吧不给力,明明是我先点的鼠标呢。

e**o
发帖数: 5509
102
你做的不是售票系统,是预定系统。。。

【在 g*****g 的大作中提到】
: 可以下一个单子,按着你的要求来。 A 没有就 B, B 没有就 C, 一次处理完。不是你
: 你刷半天强多了。你刷 A 半天,放弃了才想刷 B, 结果也没了,悲惨了。我这个里面
: 就给你弄出来了。

e**o
发帖数: 5509
103
多少延迟吧。估计10分钟左右还能忍。

【在 g*****g 的大作中提到】
: 可以下一个单子,按着你的要求来。 A 没有就 B, B 没有就 C, 一次处理完。不是你
: 你刷半天强多了。你刷 A 半天,放弃了才想刷 B, 结果也没了,悲惨了。我这个里面
: 就给你弄出来了。

e**o
发帖数: 5509
104
上网填单子比不是排队,不是刷屏?
人家铁道部的窗口还能给个实时的结果。你这还得等。谁的好使?

【在 g*****g 的大作中提到】
: 没有排队好使?原来你是喜欢排队,喜欢刷屏的。
g*****g
发帖数: 34805
105
最多10分钟。关键是你不用刷。下多单没好处。

【在 e**o 的大作中提到】
: 多少延迟吧。估计10分钟左右还能忍。
g*****g
发帖数: 34805
106
你网站都打不开,叫什么实时。
上网填单子就一次,反复刷屏干啥。
铁道部的窗口得排半天的队,你抢票同样得刷半天的屏,两者都不保证有票。
我这个虽然不保证有票,至少舒舒服服在暖气房里喝杯茶,结果就出来了,不用跟电脑
怄气。

【在 e**o 的大作中提到】
: 上网填单子比不是排队,不是刷屏?
: 人家铁道部的窗口还能给个实时的结果。你这还得等。谁的好使?

g*****g
发帖数: 34805
107
我给你举个例子,就是长江上游下暴雨,下游要发洪水。
我的做法就是三峡水库,你的做法就是发吧,哪里垮了就垮了好了。
顺利通过到达东海的,就是实时的。
e**o
发帖数: 5509
108
其实你就是做个排号机而已。说是预售系统都夸张了。
你认为铁道部需要这样的系统吗?
这么多人,填单子提交的时候也是挤。

【在 g*****g 的大作中提到】
: 你网站都打不开,叫什么实时。
: 上网填单子就一次,反复刷屏干啥。
: 铁道部的窗口得排半天的队,你抢票同样得刷半天的屏,两者都不保证有票。
: 我这个虽然不保证有票,至少舒舒服服在暖气房里喝杯茶,结果就出来了,不用跟电脑
: 怄气。

z*******3
发帖数: 13709
109
需要
现在就差不多这么做的
想想铁道部在向谁取经?
淘宝啊
开了20个instances

【在 e**o 的大作中提到】
: 其实你就是做个排号机而已。说是预售系统都夸张了。
: 你认为铁道部需要这样的系统吗?
: 这么多人,填单子提交的时候也是挤。

e**o
发帖数: 5509
110
差别大了,现在12306能实时出票。
这个排号机能吗?这就是水平差距。
难道大家不比先进,开始比烂了?

【在 z*******3 的大作中提到】
: 需要
: 现在就差不多这么做的
: 想想铁道部在向谁取经?
: 淘宝啊
: 开了20个instances

相关主题
还有谁认为我的架构和实现不支持transaction的?老魏,主角是你,你的东西太简单了
老魏号称100%出票,现在的算法有碎片化问题吧。干活到了一个阶段,刚搞定一个东西,上来总结一下老魏
怎么协议里面会有length?老魏老姜老霸,我出银子给你们开机器
进入Programming版参与讨论
z*******3
发帖数: 13709
111
http://www.huxiu.com/article/26223/1.html
先看看再吹

【在 e**o 的大作中提到】
: 差别大了,现在12306能实时出票。
: 这个排号机能吗?这就是水平差距。
: 难道大家不比先进,开始比烂了?

z*******3
发帖数: 13709
112
老魏自以为能搞定,结果没搞定
古德霸等人一开始就建议,牺牲掉实时性,保证最后正确
其实实时也不是做不了,上台主机,多半能作到
但是主机又贵,铁道部又不想贵,所以就出问题了
z*******3
发帖数: 13709
113
老魏的方案就是用计数器绕开了多线程的transaction
问题在于,这么做,多线程并发就会出错
很好理解,学过多线程的都知道
现在发现,这个错误有些不对,理论上不正确
于是打算搞单线程……………………………………
z*******3
发帖数: 13709
114
单线程还需要2个cpu么?
如果不需要,那就是一个cpu一台机器,sharding
如果需要,那就是伪多线程,async
都有人在做,都看着这家伙怎么表演了
有本事别过来
b*******s
发帖数: 5216
115
他的后端并行了也可以保证throughput,尽管latency还是没办法

【在 n*****t 的大作中提到】
: 人家性能是你 500 倍
b*******s
发帖数: 5216
116
实时性也是可以解决的,按车次分库分表,同样对订单加分队列,这个也是因为铁路系
统的物理限制,一列车一天也就几千个票可以卖。不过这样服务器的负载平衡要稍微复
杂一点。不过这也不是硬实时系统,能够十几秒响应也可以接受

【在 e**o 的大作中提到】
: 这么说吧,网站售票必须和窗口一样。
: 不然乘客没法做决定。一般有很多车次可以选,这个车次没有可以立刻买别的。
: 按照你的卖法,乘客怎么选?只能尽可能多的买各个车次的,然后再挨个退?
: 增加多少成本和负担?
: 最关键的是做决定的实时性没了。
: 放票就是那么几次,这次买不上,就只能等下次了。
: 别说火车,有的时候汽车票都很紧张。
: 某天的火车买不到,就得立刻买汽车,不然汽车票也没了。除非你愿意等。

b*******s
发帖数: 5216
117
对,查询即锁定

【在 e**o 的大作中提到】
: 你没在窗口买过票。
: 排队轮到你的了,你问窗口某个车次是否有票,窗口告诉你有,就一定能买到。
: 窗口能看到,就能买到,好像是他们先hold住,然后告诉你是否有票。
: 查询即排队,查询即锁定。查别的车次,就释放刚才查询锁定的。
: 不然窗口早就被砸,被骂百八十遍了。
: 窗口告诉你没有,那就是当时一定没有。
: 别的窗口hold的票,没买,重新释放的不算。
: 但这种情况很少,而且基本上不会发生。
: 因为你付钱或者查询别的车次的时候这张刚释放出来的牌,早就被别的窗口hold住.
:

z*******3
发帖数: 13709
118
还是没看懂二爷做的

【在 b*******s 的大作中提到】
: 实时性也是可以解决的,按车次分库分表,同样对订单加分队列,这个也是因为铁路系
: 统的物理限制,一列车一天也就几千个票可以卖。不过这样服务器的负载平衡要稍微复
: 杂一点。不过这也不是硬实时系统,能够十几秒响应也可以接受

b*******s
发帖数: 5216
119
你对魏老师方案的理解还是不对,他的方案的表现,应该是下单,不到1秒知道结果
不可能刷一天

【在 g*****g 的大作中提到】
: 就算是你说的队。你是希望刷一天,一多半时间网站根本没相应,反复刷运气好票能出
: 来。还是任何时候花一分钟添个单子
: 走人,等着email/短信通知。按顺序该是你的就是你的。
: 类比的做法就是排半天队,到窗口几乎是这没票,那没票。或者填个单子全国按号排队
: ,回家等通知。虽然同样没买到,至少是按顺序的,至少没浪费时间。
: 只要是合理的做法,需求不是不能改的。

z*******3
发帖数: 13709
120
扯,国内买票时候,你问有没有票
当你掏钱时候,告诉你票被买走了情况又不是没有
没买过火车票在这里骗人
还查询即锁定,那这个锁代价够高的
一百个坐位,一百个人查,其他人连查都查不了

【在 b*******s 的大作中提到】
: 对,查询即锁定
相关主题
老魏算了三个月,结论是做不了100%出票还真没在赌约里。
在讨论12306前魏公公,赌局我接了,你把500万/秒的订票系统做出来
古德霸啊古德霸,不打你脸是不行了系统设计的基本素养
进入Programming版参与讨论
l*****9
发帖数: 9501
121
排序是任何应用都要做的。但是waiting list远比排序复杂。你是职业程序员吗?

【在 e**o 的大作中提到】
: 其实你就是做个排号机而已。说是预售系统都夸张了。
: 你认为铁道部需要这样的系统吗?
: 这么多人,填单子提交的时候也是挤。

n*****t
发帖数: 22014
122
赵策你越来越一统江湖了,你这个戳有屁意义啊,不用又能如何啊

【在 z*******3 的大作中提到】
: 那你怪网吧去
: 时间戳在server side,所有人一个时间排队,有啥不服的?
: 真想戳你一下

e**o
发帖数: 5509
123
不知道你什么时候买的火车票。
2006年时候代售点的人就明确告诉我,看到票就能买到票。
除非你查询完没买,又去查询别的,原先查询的当然释放掉。
一开始查询的当然有可能买不到,但这种情况只能怪自己犹豫,赖不到出票系统上。

【在 z*******3 的大作中提到】
: 扯,国内买票时候,你问有没有票
: 当你掏钱时候,告诉你票被买走了情况又不是没有
: 没买过火车票在这里骗人
: 还查询即锁定,那这个锁代价够高的
: 一百个坐位,一百个人查,其他人连查都查不了

b*******s
发帖数: 5216
124
可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
退票加一个优先队列

【在 g*****g 的大作中提到】
: 最多10分钟。关键是你不用刷。下多单没好处。
z*******3
发帖数: 13709
125
去年,厦门站,谢谢

【在 e**o 的大作中提到】
: 不知道你什么时候买的火车票。
: 2006年时候代售点的人就明确告诉我,看到票就能买到票。
: 除非你查询完没买,又去查询别的,原先查询的当然释放掉。
: 一开始查询的当然有可能买不到,但这种情况只能怪自己犹豫,赖不到出票系统上。

z*******3
发帖数: 13709
126
排队时候用啊
你在想什么?
再戳你一下

【在 n*****t 的大作中提到】
: 赵策你越来越一统江湖了,你这个戳有屁意义啊,不用又能如何啊
e**o
发帖数: 5509
127
当然不是。
但是客户要的是快速出票系统。
你弄出个waiting list,客户能满意吗?
其实老魏的出发点是满足客户需求,goodbug是在改变客户需求。

【在 l*****9 的大作中提到】
: 排序是任何应用都要做的。但是waiting list远比排序复杂。你是职业程序员吗?
e**o
发帖数: 5509
128
那是售票员查询别的把那张票释放了。
你确定你看到屏幕了?

【在 z*******3 的大作中提到】
: 去年,厦门站,谢谢
z*******3
发帖数: 13709
129
客户要的是快速出票系统???
快速出票有什么意义?
火车票能买到就好了
你10s出和200s出差别很大么?
春运以前买票,很多民工通宵排队
你这个怎么快?

【在 e**o 的大作中提到】
: 当然不是。
: 但是客户要的是快速出票系统。
: 你弄出个waiting list,客户能满意吗?
: 其实老魏的出发点是满足客户需求,goodbug是在改变客户需求。

z*******3
发帖数: 13709
130
我站在第一位看到了,你说呢?
除非售票员帮你锁了

【在 e**o 的大作中提到】
: 那是售票员查询别的把那张票释放了。
: 你确定你看到屏幕了?

相关主题
铁道部的订票系统我的解决想法继续,好虫这个赌约我接了
其实就是两党党争数据库分票策略
无论如何抢,最后顶多10张票会有些震荡来,老姜你告诉我,这个计数器有啥用?
进入Programming版参与讨论
z*******3
发帖数: 13709
131
至少理论上没有弄错
连个计数器都能写错啊

【在 b*******s 的大作中提到】
: 可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
: 退票加一个优先队列

z*******3
发帖数: 13709
132
你捧着一个错的臭脚是不是很high?
理论上都是错的啊

【在 b*******s 的大作中提到】
: 可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
: 退票加一个优先队列

z*******3
发帖数: 13709
133
售票员一般是看你掏钱,就出票了
等你给钱,算好,就把票给你了
不是看到就有,他们不怕卖不出去
反正也不是他们的钱,所以广深线很多时候
你去买票,售票员直接从旁边一叠扔一张给你

【在 e**o 的大作中提到】
: 那是售票员查询别的把那张票释放了。
: 你确定你看到屏幕了?

z*******3
发帖数: 13709
134
哈哈,就说,气死你鸭的
计数器都能写错,弱爆了

【在 b*******s 的大作中提到】
: 可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
: 退票加一个优先队列

z*******3
发帖数: 13709
135
计数器程序员不要悲愤

【在 b*******s 的大作中提到】
: 可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
: 退票加一个优先队列

b*******s
发帖数: 5216
136
我不生气,只是看到你觉得好笑

【在 z*******3 的大作中提到】
: 哈哈,就说,气死你鸭的
: 计数器都能写错,弱爆了

z*******3
发帖数: 13709
137
这么简单的多线程都能写错
都还要改回单线程
计数器程序员真不是一般的弱啊

【在 b*******s 的大作中提到】
: 我不生气,只是看到你觉得好笑
z*******3
发帖数: 13709
138
哈哈,那正好,我也很喜欢这样
是吧?计数器程序员

【在 b*******s 的大作中提到】
: 我不生气,只是看到你觉得好笑
b*******s
发帖数: 5216
139
你就别看到人就叫爸爸了

【在 z*******3 的大作中提到】
: 这么简单的多线程都能写错
: 都还要改回单线程
: 计数器程序员真不是一般的弱啊

z*******3
发帖数: 13709
140
看到你爷爷是这么叫的

【在 b*******s 的大作中提到】
: 你就别看到人就叫爸爸了
相关主题
来,老姜你告诉我,这个计数器有啥用?老魏号称100%出票,现在的算法有碎片化问题吧。
赵老师你别看不起做机器的怎么协议里面会有length?
还有谁认为我的架构和实现不支持transaction的?老魏,主角是你,你的东西太简单了
进入Programming版参与讨论
e**o
发帖数: 5509
141
只能说铁路的查询系统有问题。应该查询即锁定。不然查了白查。
看来窗口售票和网络售票的系统还真应该有点差别。
窗口有售票员和后面排队的人等着,可以保证查询很快就出结果。
12306的查询可没有压力,等得起,后面没有人催。
不过售票员的职业素质应该查询后立刻锁定,然后再问乘客要不要。
不然就是给自己找麻烦。

【在 z*******3 的大作中提到】
: 我站在第一位看到了,你说呢?
: 除非售票员帮你锁了

b*******s
发帖数: 5216
142
需要锁定吗?票数减一就是了,还真是个计数器问题

【在 e**o 的大作中提到】
: 只能说铁路的查询系统有问题。应该查询即锁定。不然查了白查。
: 看来窗口售票和网络售票的系统还真应该有点差别。
: 窗口有售票员和后面排队的人等着,可以保证查询很快就出结果。
: 12306的查询可没有压力,等得起,后面没有人催。
: 不过售票员的职业素质应该查询后立刻锁定,然后再问乘客要不要。
: 不然就是给自己找麻烦。

z*******3
发帖数: 13709
143
不合适
查询之后释放不了怎么办?
比如释放信号因为网络丢包,很正常么
你要用专线保证
没有必要么
不过铁路售票点内部网络速度飞快
也不差多少,你看过他们的界面么?
一查查一堆啊,全部锁定?不可能的

【在 e**o 的大作中提到】
: 只能说铁路的查询系统有问题。应该查询即锁定。不然查了白查。
: 看来窗口售票和网络售票的系统还真应该有点差别。
: 窗口有售票员和后面排队的人等着,可以保证查询很快就出结果。
: 12306的查询可没有压力,等得起,后面没有人催。
: 不过售票员的职业素质应该查询后立刻锁定,然后再问乘客要不要。
: 不然就是给自己找麻烦。

z*******3
发帖数: 13709
144
并发啊
计数器程序员真喜欢老魏那一套啊

【在 b*******s 的大作中提到】
: 需要锁定吗?票数减一就是了,还真是个计数器问题
z*******3
发帖数: 13709
145
正常人想到的都是锁
计数器程序员就知道计数器
赶紧去申请图灵奖
e**o
发帖数: 5509
146
我买票的时候都是先锁定,然后问你要不要,确认要了,就出票。
你说的都是代售点的做法,车站窗口不可能这么做的。
我在代售点排队的时候,就有代售点的人统计排队人的终点站。
然后让售票员在出票的第一时间只管出票。打印出一摞热门票后,交给第二个人慢慢收
钱。
再开始按顺序卖票。

【在 z*******3 的大作中提到】
: 售票员一般是看你掏钱,就出票了
: 等你给钱,算好,就把票给你了
: 不是看到就有,他们不怕卖不出去
: 反正也不是他们的钱,所以广深线很多时候
: 你去买票,售票员直接从旁边一叠扔一张给你

z*******3
发帖数: 13709
147
这个可能
但是看到就锁
不太可能
人工锁
可能

【在 e**o 的大作中提到】
: 我买票的时候都是先锁定,然后问你要不要,确认要了,就出票。
: 你说的都是代售点的做法,车站窗口不可能这么做的。
: 我在代售点排队的时候,就有代售点的人统计排队人的终点站。
: 然后让售票员在出票的第一时间只管出票。打印出一摞热门票后,交给第二个人慢慢收
: 钱。
: 再开始按顺序卖票。

l*****9
发帖数: 9501
148
关于用户体验,不需要懂编程。你要买票,昆明到长春,现在有两个选择:
1。号称的实时系统:网站基本没反应,刷票半天,也许刷到一张也许刷不到。
2。非实时系统:你在网站下订单,组合票:昆明到北京,然后最快北京到长春。交订
单,网站马上告诉你:订单提交完成,10分钟内出结果。5分钟后你收到短信:订票成
功,回复短信购买!或者:订票失败但是你在waiting list,按照你的订单时间戳排队
,如果你想等票,不需要再次提交订单,如果不想等票,可以回复短信取消。
你更喜欢哪个呢?

【在 e**o 的大作中提到】
: 当然不是。
: 但是客户要的是快速出票系统。
: 你弄出个waiting list,客户能满意吗?
: 其实老魏的出发点是满足客户需求,goodbug是在改变客户需求。

e**o
发帖数: 5509
149
当然看过。你说的也有道理。
按目的地查询当然一查一堆。需要挑车次,挑日期锁定。
看来还有改进余地。
指定车次,目的地,指定日期,就有唯一结果,自动锁定就好了。
不过铁路的出票系统没这么简单,都是给目的地,给最近几天每个车次剩多少票。

【在 z*******3 的大作中提到】
: 不合适
: 查询之后释放不了怎么办?
: 比如释放信号因为网络丢包,很正常么
: 你要用专线保证
: 没有必要么
: 不过铁路售票点内部网络速度飞快
: 也不差多少,你看过他们的界面么?
: 一查查一堆啊,全部锁定?不可能的

z*******3
发帖数: 13709
150
总之就是有一个start point
然后锁定,然后执行
执行完毕后释放锁
很传统
顺便说一下
铁道部db是sybase
这里某人以前在sybase做过
不过喜欢装不懂sql,呼呼
买卖题上好几个大牛都在sybase做过
比如卡桑

【在 e**o 的大作中提到】
: 当然看过。你说的也有道理。
: 按目的地查询当然一查一堆。需要挑车次,挑日期锁定。
: 看来还有改进余地。
: 指定车次,目的地,指定日期,就有唯一结果,自动锁定就好了。
: 不过铁路的出票系统没这么简单,都是给目的地,给最近几天每个车次剩多少票。

相关主题
干活到了一个阶段,刚搞定一个东西,上来总结一下老魏在讨论12306前
老魏老姜老霸,我出银子给你们开机器古德霸啊古德霸,不打你脸是不行了
老魏算了三个月,结论是做不了100%出票还真没在赌约里。
进入Programming版参与讨论
q*c
发帖数: 9453
151
制止你这样做的办法太多了。 基本可以保证一人只提交一次。

【在 b*******s 的大作中提到】
: 如果我是用户,我肯定会拼命点提交button,这样这个系统会产生多少新订单呢?
:
: 100k

l*****9
发帖数: 9501
152
很简单,按最新订单,就是说递交越多排队越靠后,活雷锋,刷吧

【在 q*c 的大作中提到】
: 制止你这样做的办法太多了。 基本可以保证一人只提交一次。
g*****g
发帖数: 34805
153
窗口的可以预分票走不同规则,现在本来就是预分票的。

【在 e**o 的大作中提到】
: 只能说铁路的查询系统有问题。应该查询即锁定。不然查了白查。
: 看来窗口售票和网络售票的系统还真应该有点差别。
: 窗口有售票员和后面排队的人等着,可以保证查询很快就出结果。
: 12306的查询可没有压力,等得起,后面没有人催。
: 不过售票员的职业素质应该查询后立刻锁定,然后再问乘客要不要。
: 不然就是给自己找麻烦。

g*****g
发帖数: 34805
154
填单子偏偏就是没问题。因为所有的订单都是不冲突的,你来多少我实时写多少。
魏公公有问题是因为单子要实时竞争同一个计数器。
没有什么是可以scale out什么不能scale out的意识,恰恰就是外行和内行的区别。

【在 e**o 的大作中提到】
: 其实你就是做个排号机而已。说是预售系统都夸张了。
: 你认为铁道部需要这样的系统吗?
: 这么多人,填单子提交的时候也是挤。

g*****g
发帖数: 34805
155
他那个单机撑不住1M/s IO, 这个东西真不是什么信不信的问题。测试一下就知道了,
又不是helloworld.

【在 b*******s 的大作中提到】
: 你对魏老师方案的理解还是不对,他的方案的表现,应该是下单,不到1秒知道结果
: 不可能刷一天

g*****g
发帖数: 34805
156
分库我讨论过,这个是优化干的。而且planning本身很复杂,就算能优化我觉得提高也
不会超过一个数量级。做一个复杂系统,通常都是从worst case开始估计还有余量,然
后慢慢优化。像魏公公那样上来就撑得满满的,一个没考虑到的需求增加复杂度,立刻
就是必死的节奏。
我老好歹是做了多年大系统架构,就是一些经验。魏公公就做一些客户系统,崩了有啥
的,不就是单子没提上去吗。又不是nasdaq崩了。

【在 b*******s 的大作中提到】
: 可以做到10几秒,分库,中间加一级针对车次的筛选,不同车次扔不同队列
: 退票加一个优先队列

g*****g
发帖数: 34805
157
只能改单,改单就改timestamp往后排. 不能提交多单,这样比较简单。

【在 l*****9 的大作中提到】
: 很简单,按最新订单,就是说递交越多排队越靠后,活雷锋,刷吧
g*****g
发帖数: 34805
158
老魏的系统撑不住,他上线了大家可以实测,光练嘴皮子没用。

【在 e**o 的大作中提到】
: 当然不是。
: 但是客户要的是快速出票系统。
: 你弄出个waiting list,客户能满意吗?
: 其实老魏的出发点是满足客户需求,goodbug是在改变客户需求。

a***n
发帖数: 538
159
我觉得卖票的事情其实1,2秒的时间对用户来说就是实时的了,完全没有必要做单机的
。如果做分布式计数器,第二层做分布式optimistic locking做到1,2秒出票应该没有
问题的。因为大部分能出的票全局来说conflict不是很严重。
n*****t
发帖数: 22014
160
分布计数器或者锁都可以,带来的问题就是跨机索票也就是联程票,会有一定的开销。
如果单节点能搞定,就没必要分了,并不是说绝对不分布。

【在 a***n 的大作中提到】
: 我觉得卖票的事情其实1,2秒的时间对用户来说就是实时的了,完全没有必要做单机的
: 。如果做分布式计数器,第二层做分布式optimistic locking做到1,2秒出票应该没有
: 问题的。因为大部分能出的票全局来说conflict不是很严重。

相关主题
魏公公,赌局我接了,你把500万/秒的订票系统做出来其实就是两党党争
系统设计的基本素养无论如何抢,最后顶多10张票会有些震荡
铁道部的订票系统我的解决想法继续,好虫这个赌约我接了
进入Programming版参与讨论
a***n
发帖数: 538
161
分布以后联程票的逻辑就可以做复杂,单机显然受限了。而且单机串联备份的话维护成
本很高,要专用软件硬件。分布的话搞些普通的服务器,几个java程序员就搞定了。

【在 n*****t 的大作中提到】
: 分布计数器或者锁都可以,带来的问题就是跨机索票也就是联程票,会有一定的开销。
: 如果单节点能搞定,就没必要分了,并不是说绝对不分布。

g*****g
发帖数: 34805
162
我们的产品环境每天都是chaos monkey到处随即杀instance,就为了确保failover.
老魏的那个系统掉个电,力吗很悲剧,他这糖葫芦串来串去的。就算真可行,光实现本
身就不比12306简单。

【在 a***n 的大作中提到】
: 分布以后联程票的逻辑就可以做复杂,单机显然受限了。而且单机串联备份的话维护成
: 本很高,要专用软件硬件。分布的话搞些普通的服务器,几个java程序员就搞定了。

z*******3
发帖数: 13709
163
对了
所以java程序员容易有饭吃
请老魏,不行的
就知道让老板没命花钱

【在 a***n 的大作中提到】
: 分布以后联程票的逻辑就可以做复杂,单机显然受限了。而且单机串联备份的话维护成
: 本很高,要专用软件硬件。分布的话搞些普通的服务器,几个java程序员就搞定了。

1 (共1页)
进入Programming版参与讨论
相关主题
魏公公,赌局我接了,你把500万/秒的订票系统做出来赵老师你别看不起做机器的
系统设计的基本素养还有谁认为我的架构和实现不支持transaction的?
铁道部的订票系统我的解决想法老魏号称100%出票,现在的算法有碎片化问题吧。
其实就是两党党争怎么协议里面会有length?
无论如何抢,最后顶多10张票会有些震荡老魏,主角是你,你的东西太简单了
继续,好虫这个赌约我接了干活到了一个阶段,刚搞定一个东西,上来总结一下老魏
数据库分票策略老魏老姜老霸,我出银子给你们开机器
来,老姜你告诉我,这个计数器有啥用?老魏算了三个月,结论是做不了
相关话题的讨论汇总
话题: 窗口话题: 计数器话题: 老魏话题: 系统话题: 排队