n*****t 发帖数: 22014 | 1 题目如下:
1、DB A 用来存放 12306 的票务数据。
2、DB B 用来存放车票的锁,每张票 1 个字节,2 个 bit 用来存放 lock & sold。
3、client 先到 B 拿锁,锁定后在 A 出票。
古德霸的傻鸟问题如下,有补充我可以改:
1、DB B 无法承受 1M/s 的访问
2、DB A 拿到锁后当机了,会造成丢票。
3、古德霸补充:无法知道票卖给谁了
这个帖子放在这,你丫每次得瑟就拿出来打你一次脸。 |
g*****g 发帖数: 34805 | 2 你是自己打脸吧,你的原文大致如下,别说我冤枉你。
输入是用户信息和车次,DB B拿到锁,就标志上sold,然后发给A慢慢出票。
你的还是实时系统,标志上sold之后就B就返回给用户有票。然后把用户和票信息异步
发给DB A,A挂了,还没问题?用户以为自己买着了,其实系统根本没记录。卖给谁了
?不知道,不知道怎么拿身份证验证,票可是没了。
你丫连什么叫做transaction都不懂。
【在 n*****t 的大作中提到】 : 题目如下: : 1、DB A 用来存放 12306 的票务数据。 : 2、DB B 用来存放车票的锁,每张票 1 个字节,2 个 bit 用来存放 lock & sold。 : 3、client 先到 B 拿锁,锁定后在 A 出票。 : 古德霸的傻鸟问题如下,有补充我可以改: : 1、DB B 无法承受 1M/s 的访问 : 2、DB A 拿到锁后当机了,会造成丢票。 : 3、古德霸补充:无法知道票卖给谁了 : 这个帖子放在这,你丫每次得瑟就拿出来打你一次脸。
|
n*****t 发帖数: 22014 | 3 你语体教啊?先把话说利索了,这脑子里一团浆糊啊
【在 g*****g 的大作中提到】 : 你是自己打脸吧,你的原文大致如下,别说我冤枉你。 : 输入是用户信息和车次,DB B拿到锁,就标志上sold,然后发给A慢慢出票。 : 你的还是实时系统,标志上sold之后就B就返回给用户有票。然后把用户和票信息异步 : 发给DB A,A挂了,还没问题?用户以为自己买着了,其实系统根本没记录。卖给谁了 : ?不知道,不知道怎么拿身份证验证,票可是没了。 : 你丫连什么叫做transaction都不懂。
|
g*****g 发帖数: 34805 | 4 你丫连啥叫distributed transaction都没有概念。distributed transaction之所以能
scale,那是因为低耦合,transaction随着节点增多而扩散分布,这样单机需要处理的
transaction少。像你这样每票一条数据,每个transaction都要hit同一数据库还要加
锁更新,一点机会都没有。
写PHP写的吐血的,还成天把科班出身挂嘴边,真给科班出身的丢人。
【在 n*****t 的大作中提到】 : 你语体教啊?先把话说利索了,这脑子里一团浆糊啊
|
n*****t 发帖数: 22014 | 5 很好,这次表达清晰点了。态度不错,俺就回你贴:
1、B 没有用户信息,看清楚了。
2、B 返回信息过程中直到出票,A 挂了,你认为票没了,没冤枉你吧?
3、你是不是还认为 B 做不到 1M/s
【在 g*****g 的大作中提到】 : 你是自己打脸吧,你的原文大致如下,别说我冤枉你。 : 输入是用户信息和车次,DB B拿到锁,就标志上sold,然后发给A慢慢出票。 : 你的还是实时系统,标志上sold之后就B就返回给用户有票。然后把用户和票信息异步 : 发给DB A,A挂了,还没问题?用户以为自己买着了,其实系统根本没记录。卖给谁了 : ?不知道,不知道怎么拿身份证验证,票可是没了。 : 你丫连什么叫做transaction都不懂。
|
g*****g 发帖数: 34805 | 6 你到底想说啥?票卖给谁都不知道,就算100M/s也不行呀。一个卖票你生生改成echo
helloworld?
就为了能1M/s?
【在 n*****t 的大作中提到】 : 很好,这次表达清晰点了。态度不错,俺就回你贴: : 1、B 没有用户信息,看清楚了。 : 2、B 返回信息过程中直到出票,A 挂了,你认为票没了,没冤枉你吧? : 3、你是不是还认为 B 做不到 1M/s
|
n*****t 发帖数: 22014 | 7 别跟我拽这些,到时候让你心服口服怎么做到
【在 g*****g 的大作中提到】 : 你丫连啥叫distributed transaction都没有概念。distributed transaction之所以能 : scale,那是因为低耦合,transaction随着节点增多而扩散分布,这样单机需要处理的 : transaction少。像你这样每票一条数据,每个transaction都要hit同一数据库还要加 : 锁更新,一点机会都没有。 : 写PHP写的吐血的,还成天把科班出身挂嘴边,真给科班出身的丢人。
|
g*****g 发帖数: 34805 | 8 你做出来我就自杀ID,没做出来你还在这里死撑就是傻逼一个。光得瑟,死要面子。
【在 n*****t 的大作中提到】 : 别跟我拽这些,到时候让你心服口服怎么做到
|
n*****t 发帖数: 22014 | 9 卖给谁都不知道是你自己瞎琢磨出来的,我可没说过。你直接回答,是不是票没了,
yes or no
【在 g*****g 的大作中提到】 : 你到底想说啥?票卖给谁都不知道,就算100M/s也不行呀。一个卖票你生生改成echo : helloworld? : 就为了能1M/s?
|
n*****t 发帖数: 22014 | 10 行,咱一个一个来,先说是不是票丢了。对了,你又多个问题,票不知道卖给谁了,是
吧?
【在 g*****g 的大作中提到】 : 你做出来我就自杀ID,没做出来你还在这里死撑就是傻逼一个。光得瑟,死要面子。
|
|
|
g*****g 发帖数: 34805 | 11 你丫自己傻逼了,又想玩语言陷阱是吧?反正你做不到transaction,是票没了,还是
重票了,都不行。有种就把全套方案弄出来大家看看,在这里跟个太监似的。
【在 n*****t 的大作中提到】 : 卖给谁都不知道是你自己瞎琢磨出来的,我可没说过。你直接回答,是不是票没了, : yes or no
|
n*****t 发帖数: 22014 | 12 Yes no,别跟个娘们似的
【在 g*****g 的大作中提到】 : 你丫自己傻逼了,又想玩语言陷阱是吧?反正你做不到transaction,是票没了,还是 : 重票了,都不行。有种就把全套方案弄出来大家看看,在这里跟个太监似的。
|
g*****g 发帖数: 34805 | 13 我管你yes, no,你自吹1M/s的transaction,实现呢?
没实现出来你丫就是一傻逼。大家都等着呢。
【在 n*****t 的大作中提到】 : Yes no,别跟个娘们似的
|
n*****t 发帖数: 22014 | 14 倒血霉了,开始撒泼打滚了。真是 F2 文科女转的 CS 啊?
你丫提出 3 个问题,先说有没有冤枉你。没有俺就一个个打脸。实现会给大家看的,
崩着急。俺也不要求你自杀 ID,别太紧张,以后傻话少说就行。
【在 g*****g 的大作中提到】 : 我管你yes, no,你自吹1M/s的transaction,实现呢? : 没实现出来你丫就是一傻逼。大家都等着呢。
|
g*****g 发帖数: 34805 | 15 实现没见着,没见着之前说啥都没用,你还是一个傻逼。
得瑟,死要面子你自我总结得很好。
【在 n*****t 的大作中提到】 : 倒血霉了,开始撒泼打滚了。真是 F2 文科女转的 CS 啊? : 你丫提出 3 个问题,先说有没有冤枉你。没有俺就一个个打脸。实现会给大家看的, : 崩着急。俺也不要求你自杀 ID,别太紧张,以后傻话少说就行。
|
g*****g 发帖数: 34805 | 16 你还是快点动手吧,大家都等着看benchmark呢,别跟魏公公一样太监了。 |
n*****t 发帖数: 22014 | 17 别打滚,先说有没有冤枉你。别尼玛拿出来了又耍泼。
【在 g*****g 的大作中提到】 : 实现没见着,没见着之前说啥都没用,你还是一个傻逼。 : 得瑟,死要面子你自我总结得很好。
|
n*****t 发帖数: 22014 | 18 接着打滚,就是不敢说 yes no
【在 g*****g 的大作中提到】 : 你还是快点动手吧,大家都等着看benchmark呢,别跟魏公公一样太监了。
|
q*c 发帖数: 9453 | 19 你这样做问题很多啊, 首先票不是独立德, 很多票重叠, 你卖了这张就不能卖那张
, 你只锁一张票没用, 可是全部有关系德票要锁效率低下, 而且不好实现。 你这个
“车票锁”听着简单做起来不简单。
其次这种两步走的交易, 我以前在 production 上干过, 就是古德霸的那个道理,
交易量一大, 就会出不同步问题。 要不然为什么有 transaction 这个概念捏。
【在 n*****t 的大作中提到】 : 题目如下: : 1、DB A 用来存放 12306 的票务数据。 : 2、DB B 用来存放车票的锁,每张票 1 个字节,2 个 bit 用来存放 lock & sold。 : 3、client 先到 B 拿锁,锁定后在 A 出票。 : 古德霸的傻鸟问题如下,有补充我可以改: : 1、DB B 无法承受 1M/s 的访问 : 2、DB A 拿到锁后当机了,会造成丢票。 : 3、古德霸补充:无法知道票卖给谁了 : 这个帖子放在这,你丫每次得瑟就拿出来打你一次脸。
|
g*****g 发帖数: 34805 | 20 这些都是常识,要是那么好做,RDBMS早就linear scalable,还要NoSQL干什么。
可惜有些傻逼就是PHP都写得吐血,吹牛逼不打草稿。
【在 q*c 的大作中提到】 : 你这样做问题很多啊, 首先票不是独立德, 很多票重叠, 你卖了这张就不能卖那张 : , 你只锁一张票没用, 可是全部有关系德票要锁效率低下, 而且不好实现。 你这个 : “车票锁”听着简单做起来不简单。 : 其次这种两步走的交易, 我以前在 production 上干过, 就是古德霸的那个道理, : 交易量一大, 就会出不同步问题。 要不然为什么有 transaction 这个概念捏。
|
|
|
g*****g 发帖数: 34805 | 21 傻逼你弄清楚了,系统是你要实现的,不是我要实现的。你追着我问yes,no有用吗?
实现呢?yes了又如何,no了又如何,transaction就自动实现了?
【在 n*****t 的大作中提到】 : 接着打滚,就是不敢说 yes no
|
n*****t 发帖数: 22014 | 22 你丫除了打滚真的啥都不会啊?
你认为实现不了,1-2-3 我列出来了,我跟你证实。你丫承认了,我就拿实现出来。看
不懂人说话啊?
【在 g*****g 的大作中提到】 : 傻逼你弄清楚了,系统是你要实现的,不是我要实现的。你追着我问yes,no有用吗? : 实现呢?yes了又如何,no了又如何,transaction就自动实现了?
|
g*****g 发帖数: 34805 | 23 你实现了再来,反正是每秒出1M/s车票,需求很明确,12306干嘛用的大家都知道。
别光说不练,没实现就还是一个傻逼。
【在 n*****t 的大作中提到】 : 你丫除了打滚真的啥都不会啊? : 你认为实现不了,1-2-3 我列出来了,我跟你证实。你丫承认了,我就拿实现出来。看 : 不懂人说话啊?
|
n*****t 发帖数: 22014 | 24 傻逼接着打滚,你丫说出来的话不敢认,今天俺就不教你了
【在 g*****g 的大作中提到】 : 你实现了再来,反正是每秒出1M/s车票,需求很明确,12306干嘛用的大家都知道。 : 别光说不练,没实现就还是一个傻逼。
|
g*****g 发帖数: 34805 | 25 LOL,傻逼要土遁了是吧。说过了你跟魏公公一个德行,吹牛行,一要实现下面没有了。
【在 n*****t 的大作中提到】 : 傻逼接着打滚,你丫说出来的话不敢认,今天俺就不教你了
|
n*****t 发帖数: 22014 | 26 傻逼你是不是要把自己拉的屎吃回去啊,乘热乎吃。
麻痹自己说的话不敢认,你丫有没有卵蛋啊?
了。
【在 g*****g 的大作中提到】 : LOL,傻逼要土遁了是吧。说过了你跟魏公公一个德行,吹牛行,一要实现下面没有了。
|
g*****g 发帖数: 34805 | 27 LOL,有人吹要实现1M/s transaction,到最后除了瞎鸡巴吹牛,可是啥都没有呀。
我老可没吹自己能实现。敢划下道道,不敢执行,没卵蛋的家伙。
【在 n*****t 的大作中提到】 : 傻逼你是不是要把自己拉的屎吃回去啊,乘热乎吃。 : 麻痹自己说的话不敢认,你丫有没有卵蛋啊? : : 了。
|
n*****t 发帖数: 22014 | 28 鸡巴德行,连自己说的话都不敢认,让大家看看吧。这里是你说过的:
1、锁定后一直到出票,DB A 当机,票就丢了。
2、票出给谁的不知道
3、DB B 无法处理 1M/s
嘴硬,让你丫嘴硬,哦,鸭子嘴是最硬的,比老硬还硬。
【在 g*****g 的大作中提到】 : LOL,有人吹要实现1M/s transaction,到最后除了瞎鸡巴吹牛,可是啥都没有呀。 : 我老可没吹自己能实现。敢划下道道,不敢执行,没卵蛋的家伙。
|
g*****g 发帖数: 34805 | 29 你列这些有用吗?这只是最基本的一些质疑,就算你修改设计了,把这些漏洞补了,就
会出现另外一套问题。啥是transaction,啥是出票,大家都很明白。你要做到的是没
有漏洞,而不是把我给你指出的漏洞补了就够了。
【在 n*****t 的大作中提到】 : 鸡巴德行,连自己说的话都不敢认,让大家看看吧。这里是你说过的: : 1、锁定后一直到出票,DB A 当机,票就丢了。 : 2、票出给谁的不知道 : 3、DB B 无法处理 1M/s : 嘴硬,让你丫嘴硬,哦,鸭子嘴是最硬的,比老硬还硬。
|
n*****t 发帖数: 22014 | 30 你丫就是缺乏基本常识还在这嘴硬,就别鸡巴得瑟了。
这 3 个问题你觉得解决了?没解决我教你,还有啥不懂的可以继续问。
【在 g*****g 的大作中提到】 : 你列这些有用吗?这只是最基本的一些质疑,就算你修改设计了,把这些漏洞补了,就 : 会出现另外一套问题。啥是transaction,啥是出票,大家都很明白。你要做到的是没 : 有漏洞,而不是把我给你指出的漏洞补了就够了。
|
|
|
g*****g 发帖数: 34805 | 31 你丫的1M/s transaction实现在哪里?没有就别继续叫板了。
操,最贱的就是你这样的。超越常识的东西,要装逼。做不出来装不下去就玩PA。
你丫没做出来之前,出来一次,就丢人一次。
【在 n*****t 的大作中提到】 : 你丫就是缺乏基本常识还在这嘴硬,就别鸡巴得瑟了。 : 这 3 个问题你觉得解决了?没解决我教你,还有啥不懂的可以继续问。
|
n*****t 发帖数: 22014 | 32 好,态度有进步,开始打脸:
1、设全网每天 8 小时出售 5M 张票,每张票平均 20 个站,平均每秒 173 张。
2、每张车票每两个站间作为一个 unit,共计 100M,每个 unit 占 1 个 byte,其中
2 个 bit 作状态,其余做 timestamp。另:保证每张票的数据均在同一个 physical
block 里。
3、status 共 4 种:
0 = 有票
1 = 锁定,待付款
2 = 售出
4、除车票状态,其余信息包括客服姓名、车次等均可分布到不同 DB server,记为
DBA。状态信息存于 DB B,单节点。
5、操作:
1)查询,无需 lock
2)客户提交订单,发送锁定请求,待付款。DB B 记录 time
3)客服付款失败或取消订单、超时未收到 DB A 通知,status => 0;
4)付款成功,出票,请求更新状态 sold
经烂笔记本测试单 CPU 单 SSD 写操作可达 16k/s,约为每秒出票速度的 100 倍。查
询操作均在内存中,1M/s 毫无压力。
【在 g*****g 的大作中提到】 : 你丫的1M/s transaction实现在哪里?没有就别继续叫板了。 : 操,最贱的就是你这样的。超越常识的东西,要装逼。做不出来装不下去就玩PA。 : 你丫没做出来之前,出来一次,就丢人一次。
|
n*****t 发帖数: 22014 | 33 每个车次、每个座位、每两个站点之间设为一个 unit,不会重叠。
优化一下可以保证每张车票在一个 4kb disk block 里,北京到广州途径 20 个站,就
是加锁、写 20 个 byte,msync 到 disk,然后 unlock。需要写操作的情况很少,基
本是每秒出票速度相关(173/s),峰值不会超过 x 100 吧?
电信级的东西就是加各种 flag,设各种 timeout,不保证你 work,保证我能 work
【在 q*c 的大作中提到】 : 你这样做问题很多啊, 首先票不是独立德, 很多票重叠, 你卖了这张就不能卖那张 : , 你只锁一张票没用, 可是全部有关系德票要锁效率低下, 而且不好实现。 你这个 : “车票锁”听着简单做起来不简单。 : 其次这种两步走的交易, 我以前在 production 上干过, 就是古德霸的那个道理, : 交易量一大, 就会出不同步问题。 要不然为什么有 transaction 这个概念捏。
|
q*c 发帖数: 9453 | 34 173/s (x100)一个大型数据库就行了,还那么多麻烦干啥。你这保证自己工作,不保
证别人,
不就是大家说的前后台分开嘛。
这问题难的就是实时准确信息,看到了就能买到,不保证这个,就是大家说的分离方案
,办法就多了。
【在 n*****t 的大作中提到】 : 每个车次、每个座位、每两个站点之间设为一个 unit,不会重叠。 : 优化一下可以保证每张车票在一个 4kb disk block 里,北京到广州途径 20 个站,就 : 是加锁、写 20 个 byte,msync 到 disk,然后 unlock。需要写操作的情况很少,基 : 本是每秒出票速度相关(173/s),峰值不会超过 x 100 吧? : 电信级的东西就是加各种 flag,设各种 timeout,不保证你 work,保证我能 work
|
n*****t 发帖数: 22014 | 35 所谓看到能买到这个定义有歧义:查询的时候有票买不到,还是票源锁定后买不到?
前者当然没法保证也没人能保证,这个是 biz logic 决定的不是系统做不到(查询的
时候就给你锁票?)
后者除非 server 当机了,否则不会有问题。如果是前台当掉了,重新刷一次就没事了
,这个估计谁都习惯了,哈哈。
现在实际的问题,就是都在一个节点查询、锁票,一个大的 DBMS 显然搞不定,应该把
bottleneck 拆出来。
【在 q*c 的大作中提到】 : 173/s (x100)一个大型数据库就行了,还那么多麻烦干啥。你这保证自己工作,不保 : 证别人, : 不就是大家说的前后台分开嘛。 : 这问题难的就是实时准确信息,看到了就能买到,不保证这个,就是大家说的分离方案 : ,办法就多了。
|
g*****g 发帖数: 34805 | 36 每秒1M次订单,啥时候变成8小时5M张了?订单又不会均匀过来,一开张前几秒就全来
了,每张都可能有票,你那16K次写差得太远了。这也太搞笑了。
再说你这方案,号称是实时的,结果呢,用户是空欢喜,既然不收钱也不验证,回头很
可能出不了票,说到底不就是异步的吗。
我老早早就给了一个可靠的异步的方案,实时1M/秒我做不到,异步把他们处理了谁不
会?
中
【在 n*****t 的大作中提到】 : 好,态度有进步,开始打脸: : 1、设全网每天 8 小时出售 5M 张票,每张票平均 20 个站,平均每秒 173 张。 : 2、每张车票每两个站间作为一个 unit,共计 100M,每个 unit 占 1 个 byte,其中 : 2 个 bit 作状态,其余做 timestamp。另:保证每张票的数据均在同一个 physical : block 里。 : 3、status 共 4 种: : 0 = 有票 : 1 = 锁定,待付款 : 2 = 售出 : 4、除车票状态,其余信息包括客服姓名、车次等均可分布到不同 DB server,记为
|
g*****g 发帖数: 34805 | 37 简单说就是第一秒的时候100万有效订单过来了,每天火车2000次,几千张的座,一次
几十个站,有效票10M不夸张。假定全部有票,或者大部分有票,每张都得写。你写
1bit也好,把该写了都写了也好,反正都得写,有锁就有冲突,并行写还有限。你那
16k/秒的速度不是立刻挂了,离实时
给用户反馈差得太远。结果就是request timeout,跟用户现在看到的一样。
所以才要前后分开,前端缓冲。但是前端缓冲就不是实时的。你弄了一个土样图神婆的
设计,还自鸣得意。我看你还是别出来混了。
【在 n*****t 的大作中提到】 : 所谓看到能买到这个定义有歧义:查询的时候有票买不到,还是票源锁定后买不到? : 前者当然没法保证也没人能保证,这个是 biz logic 决定的不是系统做不到(查询的 : 时候就给你锁票?) : 后者除非 server 当机了,否则不会有问题。如果是前台当掉了,重新刷一次就没事了 : ,这个估计谁都习惯了,哈哈。 : 现在实际的问题,就是都在一个节点查询、锁票,一个大的 DBMS 显然搞不定,应该把 : bottleneck 拆出来。
|
n*****t 发帖数: 22014 | 38 哎,真不知道说你啥好了,16k 是我的烂笔记本,离极限性能差老远老远,而且绝对比
现成 DBMS 强几条街。抛开这些不说,我北京局的 DB B 放一个单独 server 行不行?
再不够一个车次一台 server 行不行?无非前段计算一下应该向谁申请。我这可是实时
的哦,假设算力足够。
你们啊,只会用别人做好的工具,所以才会把一个破玩意捧上天
16k
【在 g*****g 的大作中提到】 : 简单说就是第一秒的时候100万有效订单过来了,每天火车2000次,几千张的座,一次 : 几十个站,有效票10M不夸张。假定全部有票,或者大部分有票,每张都得写。你写 : 1bit也好,把该写了都写了也好,反正都得写,有锁就有冲突,并行写还有限。你那 : 16k/秒的速度不是立刻挂了,离实时 : 给用户反馈差得太远。结果就是request timeout,跟用户现在看到的一样。 : 所以才要前后分开,前端缓冲。但是前端缓冲就不是实时的。你弄了一个土样图神婆的 : 设计,还自鸣得意。我看你还是别出来混了。
|
n*****t 发帖数: 22014 | 39 收钱验证这种破事让前段慢慢去做,我只要保证系统没有 bottleneck,有了 cloud 这
些脏话都是渣,用你们的 java 去跑好了
【在 g*****g 的大作中提到】 : 简单说就是第一秒的时候100万有效订单过来了,每天火车2000次,几千张的座,一次 : 几十个站,有效票10M不夸张。假定全部有票,或者大部分有票,每张都得写。你写 : 1bit也好,把该写了都写了也好,反正都得写,有锁就有冲突,并行写还有限。你那 : 16k/秒的速度不是立刻挂了,离实时 : 给用户反馈差得太远。结果就是request timeout,跟用户现在看到的一样。 : 所以才要前后分开,前端缓冲。但是前端缓冲就不是实时的。你弄了一个土样图神婆的 : 设计,还自鸣得意。我看你还是别出来混了。
|
g*****g 发帖数: 34805 | 40 一个车次一台可以。但是有联程票,用distributed transaction,比例一高你还是得
挂。设计要考虑最坏情况,而不是说最好情况可以就可以了。对于要锁多个车段的出票
,单机RDBMS 16K/s
transaction这是一个牛逼x86机器的极限了。我设计考虑延迟的时候,只敢说5K-10K。
总之前面吹牛逼单机1M/s的时候拍胸脯,一到设计不出我老那些道道,你差太远了。
【在 n*****t 的大作中提到】 : 哎,真不知道说你啥好了,16k 是我的烂笔记本,离极限性能差老远老远,而且绝对比 : 现成 DBMS 强几条街。抛开这些不说,我北京局的 DB B 放一个单独 server 行不行? : 再不够一个车次一台 server 行不行?无非前段计算一下应该向谁申请。我这可是实时 : 的哦,假设算力足够。 : 你们啊,只会用别人做好的工具,所以才会把一个破玩意捧上天 : : 16k
|
|
|
n*****t 发帖数: 22014 | 41 联票无非就是向多个 server 发 request,都拿到了就执行,有一个没拿到 request
cancel。
16k/s 还牛逼叉86,太阳,再说一遍,这是我的破笔记本的测试结果。再再说一遍,这
一头我压根不用啥 RDBMS,直接用 C 写个 tcp/ip server,DB 就是一个 disk mmap 的
memory array,一个 request frame 几十 byte 就足够了。再不够俺扔掉 HTTP,再
再不够俺写到 kernel space 里去。
这尼玛还扛不住一个车次的票,劳资立马自杀去。
【在 g*****g 的大作中提到】 : 一个车次一台可以。但是有联程票,用distributed transaction,比例一高你还是得 : 挂。设计要考虑最坏情况,而不是说最好情况可以就可以了。对于要锁多个车段的出票 : ,单机RDBMS 16K/s : transaction这是一个牛逼x86机器的极限了。我设计考虑延迟的时候,只敢说5K-10K。 : 总之前面吹牛逼单机1M/s的时候拍胸脯,一到设计不出我老那些道道,你差太远了。
|
g*****g 发帖数: 34805 | 42 Distributed transaction实现本身是没有太大难度,问题是你要1M/s呀。
你发个request给别的DB,那个DB写,返回,你还想1M/s。太无知了。
现在的x86单机数据库复杂transaction 10K/s左右是极限,这是经验之谈,左右过不了
100K/s,处理不了1M/s的交易。你不服大可以写个RDMBS大家看呀。
你丫连什么叫做transaction都不懂,往硬盘上写一个byte跟一个transaction一样?
【在 n*****t 的大作中提到】 : 联票无非就是向多个 server 发 request,都拿到了就执行,有一个没拿到 request : cancel。 : 16k/s 还牛逼叉86,太阳,再说一遍,这是我的破笔记本的测试结果。再再说一遍,这 : 一头我压根不用啥 RDBMS,直接用 C 写个 tcp/ip server,DB 就是一个 disk mmap 的 : memory array,一个 request frame 几十 byte 就足够了。再不够俺扔掉 HTTP,再 : 再不够俺写到 kernel space 里去。 : 这尼玛还扛不住一个车次的票,劳资立马自杀去。
|
n*****t 发帖数: 22014 | 43 屁话,比例最大的是 read request,查哪条线有票哪条没票,出票的比例远远低于这
个。没有 lock 的需要,只是 read skt, read mem, write skt,1M/s 还做不到?你
还有没有常识了啊???
16k/s 只是受 disk 影响的最保守情况,每次写 4kb,而且写完马上 sync。我开几个
raid 马上速度上去了。你要不要自己测一下?
【在 g*****g 的大作中提到】 : 一个车次一台可以。但是有联程票,用distributed transaction,比例一高你还是得 : 挂。设计要考虑最坏情况,而不是说最好情况可以就可以了。对于要锁多个车段的出票 : ,单机RDBMS 16K/s : transaction这是一个牛逼x86机器的极限了。我设计考虑延迟的时候,只敢说5K-10K。 : 总之前面吹牛逼单机1M/s的时候拍胸脯,一到设计不出我老那些道道,你差太远了。
|
g*****g 发帖数: 34805 | 44 你又傻逼了,每天10M张票,第一秒1M request来了,全有效,你不写?
出票比例低那是全天而言。
个
【在 n*****t 的大作中提到】 : 屁话,比例最大的是 read request,查哪条线有票哪条没票,出票的比例远远低于这 : 个。没有 lock 的需要,只是 read skt, read mem, write skt,1M/s 还做不到?你 : 还有没有常识了啊??? : 16k/s 只是受 disk 影响的最保守情况,每次写 4kb,而且写完马上 sync。我开几个 : raid 马上速度上去了。你要不要自己测一下?
|
g*****g 发帖数: 34805 | 45 数据库我用得多了,mysql, oracle,大机器,10K/秒 transaction就是一个常识。你
不服大可以写个DB,秒了这些DB,你的至少也值10亿。装逼有用吗?
个
【在 n*****t 的大作中提到】 : 屁话,比例最大的是 read request,查哪条线有票哪条没票,出票的比例远远低于这 : 个。没有 lock 的需要,只是 read skt, read mem, write skt,1M/s 还做不到?你 : 还有没有常识了啊??? : 16k/s 只是受 disk 影响的最保守情况,每次写 4kb,而且写完马上 sync。我开几个 : raid 马上速度上去了。你要不要自己测一下?
|
n*****t 发帖数: 22014 | 46 说多少遍了,谁跟你 DBMS?不用什么破 DBMS,你是不是还看不懂啊?
这么 atomic 的东西,还要个屁 transaction 啊?读书读傻了啊?
【在 g*****g 的大作中提到】 : Distributed transaction实现本身是没有太大难度,问题是你要1M/s呀。 : 你发个request给别的DB,那个DB写,返回,你还想1M/s。太无知了。 : 现在的x86单机数据库复杂transaction 10K/s左右是极限,这是经验之谈,左右过不了 : 100K/s,处理不了1M/s的交易。你不服大可以写个RDMBS大家看呀。 : 你丫连什么叫做transaction都不懂,往硬盘上写一个byte跟一个transaction一样?
|
g*****g 发帖数: 34805 | 47 操,弄半天又不要transaction了?你丫是不是女人呀,成天说了有不算数。
我不说了,你把ACID实现了,我不管你用什么数据库。你到是实现呀?
【在 n*****t 的大作中提到】 : 说多少遍了,谁跟你 DBMS?不用什么破 DBMS,你是不是还看不懂啊? : 这么 atomic 的东西,还要个屁 transaction 啊?读书读傻了啊?
|
n*****t 发帖数: 22014 | 48 你丫也就是个穷打工的命,读书把脑子读傻了。这种玩意要个屁 DB,能干活就行,不
堵就行,就尼玛蓝翔技校的作业。
【在 g*****g 的大作中提到】 : 数据库我用得多了,mysql, oracle,大机器,10K/秒 transaction就是一个常识。你 : 不服大可以写个DB,秒了这些DB,你的至少也值10亿。装逼有用吗? : : 个
|
n*****t 发帖数: 22014 | 49 ACID 在前段做,你爱用啥 DB 跟我没关系。我这就加锁解锁,保证最大 throughput
不堵车。
【在 g*****g 的大作中提到】 : 操,弄半天又不要transaction了?你丫是不是女人呀,成天说了有不算数。 : 我不说了,你把ACID实现了,我不管你用什么数据库。你到是实现呀?
|
g*****g 发帖数: 34805 | 50 傻逼到头来又这个德行,能干活就行,怎么干,你实现在哪?你丫吹牛逼会,PHP网站
让你改改就吐血。
眼高手低的极品。
【在 n*****t 的大作中提到】 : 你丫也就是个穷打工的命,读书把脑子读傻了。这种玩意要个屁 DB,能干活就行,不 : 堵就行,就尼玛蓝翔技校的作业。
|
|
|
g*****g 发帖数: 34805 | 51 啥,ACID在前端做?LOL,你丫是不是脑残了。我不管你在哪里做,你保证票不重卖少
卖就可以了。你前端怎么做?你那是不堵车了,前端堵车了。
【在 n*****t 的大作中提到】 : ACID 在前段做,你爱用啥 DB 跟我没关系。我这就加锁解锁,保证最大 throughput : 不堵车。
|
n*****t 发帖数: 22014 | 52 呆逼又来打滚了,脑子不好使就开始 PA。
劳资玩电脑的时候你丫多半还是液体呢,包括 JAVA PHP 全是液体。吐血 PHP 是调戏
你个傻逼的,还尼玛当真了,真不是一般傻逼。
【在 g*****g 的大作中提到】 : 傻逼到头来又这个德行,能干活就行,怎么干,你实现在哪?你丫吹牛逼会,PHP网站 : 让你改改就吐血。 : 眼高手低的极品。
|
g*****g 发帖数: 34805 | 53 吐血PHP的时候,我老可没逼着你。自曝了拉了屎又要吃回去?
你丫真够极品。
【在 n*****t 的大作中提到】 : 呆逼又来打滚了,脑子不好使就开始 PA。 : 劳资玩电脑的时候你丫多半还是液体呢,包括 JAVA PHP 全是液体。吐血 PHP 是调戏 : 你个傻逼的,还尼玛当真了,真不是一般傻逼。
|
n*****t 发帖数: 22014 | 54 傻逼前段还堵个屁啊,请求锁票不堵了,几百个几千个几万个 web/db server 给你随
便用,出张票就那么难啊?
那尼玛肯定是你丫的 JAVA 没写好,LOL
【在 g*****g 的大作中提到】 : 啥,ACID在前端做?LOL,你丫是不是脑残了。我不管你在哪里做,你保证票不重卖少 : 卖就可以了。你前端怎么做?你那是不堵车了,前端堵车了。
|
g*****g 发帖数: 34805 | 55 傻逼锁票就要ACID,你丫把ACID做到前端去,就得前端锁票。
【在 n*****t 的大作中提到】 : 傻逼前段还堵个屁啊,请求锁票不堵了,几百个几千个几万个 web/db server 给你随 : 便用,出张票就那么难啊? : 那尼玛肯定是你丫的 JAVA 没写好,LOL
|
n*****t 发帖数: 22014 | 56 拉你嘴里了,你一直存着没舍得咽。俺吐血是吐血 magento 那鸡巴玩意太烂,你丫智
商低看不懂别怪俺。
【在 g*****g 的大作中提到】 : 吐血PHP的时候,我老可没逼着你。自曝了拉了屎又要吃回去? : 你丫真够极品。
|
g*****g 发帖数: 34805 | 57 太烂你还要弄10+天,弄到静分,不能早点躲着走了?尼玛蓝翔技校交作业你也过期了
。文科F2写程序都比你强。
发信人: nickmit (上海老姜), 信区: Programming
标 题: 一个静芬码奴的失败转型
发信站: BBS 未名空间站 (Sun Jan 12 02:03:30 2014, 美东)
原来是玩 embedded kernel 的,老婆做淘宝俺就跟着写了点 js,最近想自己弄点小买
卖又开始整 Magento,经过 10+ 天的吐血,感觉手脚全他娘的给绑住了,又开始打算
发明轮子,版上还有比我更静芬的摸?
俺是不是该改行杀老鼠啊 。。。。。
【在 n*****t 的大作中提到】 : 拉你嘴里了,你一直存着没舍得咽。俺吐血是吐血 magento 那鸡巴玩意太烂,你丫智 : 商低看不懂别怪俺。
|
n*****t 发帖数: 22014 | 58 你丫真的智商太低了,我这保证你可靠上锁了,你前面慢慢处理去,跟 ACID 有半毛钱
的关系啊?你丫是蓝翔附小学的 CS 吧?
【在 g*****g 的大作中提到】 : 傻逼锁票就要ACID,你丫把ACID做到前端去,就得前端锁票。
|
g*****g 发帖数: 34805 | 59 没有ACID,你可靠锁个屁呀。没常识还装到底。
【在 n*****t 的大作中提到】 : 你丫真的智商太低了,我这保证你可靠上锁了,你前面慢慢处理去,跟 ACID 有半毛钱 : 的关系啊?你丫是蓝翔附小学的 CS 吧?
|
n*****t 发帖数: 22014 | 60 你丫实在太傻逼了,10 天玩个新东西很多吗?
你丫 10 天第一章还没看完呢,呆逼
【在 g*****g 的大作中提到】 : 太烂你还要弄10+天,弄到静分,不能早点躲着走了?尼玛蓝翔技校交作业你也过期了 : 。文科F2写程序都比你强。 : 发信人: nickmit (上海老姜), 信区: Programming : 标 题: 一个静芬码奴的失败转型 : 发信站: BBS 未名空间站 (Sun Jan 12 02:03:30 2014, 美东) : 原来是玩 embedded kernel 的,老婆做淘宝俺就跟着写了点 js,最近想自己弄点小买 : 卖又开始整 Magento,经过 10+ 天的吐血,感觉手脚全他娘的给绑住了,又开始打算 : 发明轮子,版上还有比我更静芬的摸? : 俺是不是该改行杀老鼠啊 。。。。。
|
|
|
g*****g 发帖数: 34805 | 61 LOL,学个新东西几天都行,PHP弄到吐血静分,尼玛好意思说自己是科班的吗?
【在 n*****t 的大作中提到】 : 你丫实在太傻逼了,10 天玩个新东西很多吗? : 你丫 10 天第一章还没看完呢,呆逼
|
n*****t 发帖数: 22014 | 62 我操,鸭子嘴硬不是盖的。你说说我怎么没可靠锁吧,尼玛不是一般的弱智。你丫是不
是老师上课刚教你 ACID 这个名词啊?OS 的课你丫还没上吧?
【在 g*****g 的大作中提到】 : 没有ACID,你可靠锁个屁呀。没常识还装到底。
|
n*****t 发帖数: 22014 | 63 你丫别傻逼了,连 PHP 跟 magento 是啥都没整明白
【在 g*****g 的大作中提到】 : LOL,学个新东西几天都行,PHP弄到吐血静分,尼玛好意思说自己是科班的吗?
|
g*****g 发帖数: 34805 | 64 你丫是要处理每秒1M/s的request,尼玛弄个锁就完了?我操,原来你只管锁,票出没
出就不管了。傻逼到这德性没话可说。你只开锁解锁每秒1M次我信还不成吗? |
g*****g 发帖数: 34805 | 65 总之吐血静分的是你,不是我。
【在 n*****t 的大作中提到】 : 你丫别傻逼了,连 PHP 跟 magento 是啥都没整明白
|
g*****g 发帖数: 34805 | 66 你丫这水平,还不如魏公公,就你还打我脸,吐了自己一脸狗屎吧。 |
n*****t 发帖数: 22014 | 67 屁话,锁完了你前段几万台 server 慢慢出票去,到北京铁路局还是支付宝我管不着,
保证不重票就行了。票没出前段 request rollback,你丫不处理我给你 timeout。
12306 的根本问题就是 scalability,现在 17 个节点就是个烂设计。
操,真尼玛行,给你解释这么详细了还看不懂,你丫智商真不是一般低啊
【在 g*****g 的大作中提到】 : 你丫是要处理每秒1M/s的request,尼玛弄个锁就完了?我操,原来你只管锁,票出没 : 出就不管了。傻逼到这德性没话可说。你只开锁解锁每秒1M次我信还不成吗?
|
n*****t 发帖数: 22014 | 68 “你只开锁解锁每秒1M次我信还不成吗?”
自己先掌一下嘴,态度不错
【在 g*****g 的大作中提到】 : 你丫这水平,还不如魏公公,就你还打我脸,吐了自己一脸狗屎吧。
|
g*****g 发帖数: 34805 | 69 傻逼你是要卖票的,光开锁解锁1M次就够了?你丫不管重票丢票,多少次有用吗?
【在 n*****t 的大作中提到】 : “你只开锁解锁每秒1M次我信还不成吗?” : 自己先掌一下嘴,态度不错
|
g*****g 发帖数: 34805 | 70 我老不跟你浪费时间了,你丫要是能写出全套方案来也罢,否则你就继续当太监。
光PA谁也不比谁牛逼。 |
|
|
n*****t 发帖数: 22014 | 71 哪个傻逼教你会重票丢票的?你重一个丢一个给我看看,尼玛还嘴硬
【在 g*****g 的大作中提到】 : 傻逼你是要卖票的,光开锁解锁1M次就够了?你丫不管重票丢票,多少次有用吗?
|
n*****t 发帖数: 22014 | 72 智商低怪别人,方案给你了,看不懂给你 hello world 也没用。
你说我重票丢票,你丫给举个例子,哪怕一个,除非你把服务器全炸了。
【在 g*****g 的大作中提到】 : 我老不跟你浪费时间了,你丫要是能写出全套方案来也罢,否则你就继续当太监。 : 光PA谁也不比谁牛逼。
|
g*****g 发帖数: 34805 | 73 操,傻逼你锁票要更新标志位写盘,有冲突你就到不了1M/s,联票还让多数据库不一定
有效。
你丫所有救命稻草都用完了。仍然没睾丸。
【在 n*****t 的大作中提到】 : 哪个傻逼教你会重票丢票的?你重一个丢一个给我看看,尼玛还嘴硬
|
g*****g 发帖数: 34805 | 74 你丫真是脑残,自己试试写文件,1挨个写到1M,要sync,能达到1M/s你就赢了。
支持transaction不难,不支持transaction 1M/s request也不难,难的就是两者同时
支持。
你丫被打了脸,来回玩弄语言文字,真不够丢人的。
【在 n*****t 的大作中提到】 : 智商低怪别人,方案给你了,看不懂给你 hello world 也没用。 : 你说我重票丢票,你丫给举个例子,哪怕一个,除非你把服务器全炸了。
|
n*****t 发帖数: 22014 | 75 傻逼真不是一般傻,刚拉的又吃回去了,还要不要脸了?你丫有本事让 1M 的人同时下
单,我就有本事响应,操。
还尼玛不一定有效,你丫到底想明白没想明白啊?
【在 g*****g 的大作中提到】 : 操,傻逼你锁票要更新标志位写盘,有冲突你就到不了1M/s,联票还让多数据库不一定 : 有效。 : 你丫所有救命稻草都用完了。仍然没睾丸。
|
g*****g 发帖数: 34805 | 76 你丫也就剩这点PA的本事了,你也不看看版上有人支持你的设计可行吗?
又要做运动员又要做裁判?
【在 n*****t 的大作中提到】 : 傻逼真不是一般傻,刚拉的又吃回去了,还要不要脸了?你丫有本事让 1M 的人同时下 : 单,我就有本事响应,操。 : 还尼玛不一定有效,你丫到底想明白没想明白啊?
|
n*****t 发帖数: 22014 | 77 接着打脸,给你看看烂笔记本 virtual box 的性能,写 1M x 64
root@nickmit-VirtualBox:~# dd conv=sync,noerror if=/dev/zero of=zero bs=64
count=1048576
1048576+0 records in
1048576+0 records out
67108864 bytes (67 MB) copied, 2.21205 s, 30.3 MB/s
【在 g*****g 的大作中提到】 : 你丫真是脑残,自己试试写文件,1挨个写到1M,要sync,能达到1M/s你就赢了。 : 支持transaction不难,不支持transaction 1M/s request也不难,难的就是两者同时 : 支持。 : 你丫被打了脸,来回玩弄语言文字,真不够丢人的。
|
n*****t 发帖数: 22014 | 78 别鸡巴好意思了,我老平时轻易不 PA,你丫嘴脏是出名了
【在 g*****g 的大作中提到】 : 你丫也就剩这点PA的本事了,你也不看看版上有人支持你的设计可行吗? : 又要做运动员又要做裁判?
|
g*****g 发帖数: 34805 | 79 写,和有冲突的读,更新,写回是两码事。你这个数据完全没有意义。
【在 n*****t 的大作中提到】 : 接着打脸,给你看看烂笔记本 virtual box 的性能,写 1M x 64 : root@nickmit-VirtualBox:~# dd conv=sync,noerror if=/dev/zero of=zero bs=64 : count=1048576 : 1048576+0 records in : 1048576+0 records out : 67108864 bytes (67 MB) copied, 2.21205 s, 30.3 MB/s
|
g*****g 发帖数: 34805 | 80 你丫没本事,连php都写得吐血,我一拿出来你就恼羞成怒你怪谁?
【在 n*****t 的大作中提到】 : 别鸡巴好意思了,我老平时轻易不 PA,你丫嘴脏是出名了
|
|
|
n*****t 发帖数: 22014 | 81 你丫接着献丑,操作系统挂了几次啊?
【在 g*****g 的大作中提到】 : 写,和有冲突的读,更新,写回是两码事。你这个数据完全没有意义。
|
n*****t 发帖数: 22014 | 82 就你丫这智商,别丢人了
【在 g*****g 的大作中提到】 : 你丫没本事,连php都写得吐血,我一拿出来你就恼羞成怒你怪谁?
|
H*******g 发帖数: 6997 | |
n*****t 发帖数: 22014 | 84 一个车次一个座位就是一张票,两个站点之间就是一个 unit,北京到广州卖 20 个
unit,同时也可以拆成 2 个 10 unit 卖,需要哪段就先申请拿下
【在 H*******g 的大作中提到】 : 弱问一声,为毛要锁票而不是锁定火车上的位置?
|
H*******g 发帖数: 6997 | 85 我现在觉得火车票的设计太有意思了,要好好深入研究研究。
譬如说,上海到广州的车票,要途经杭州。
如果上海到广州的票没了,那么杭州到广州的票也跟着没了,是这个意思吧?
【在 n*****t 的大作中提到】 : 一个车次一个座位就是一张票,两个站点之间就是一个 unit,北京到广州卖 20 个 : unit,同时也可以拆成 2 个 10 unit 卖,需要哪段就先申请拿下
|
A*****i 发帖数: 3587 | 86 火车票设计和纽约地铁票设计没啥区别
我们有一门课的期末project就是做个这东西出来
12306的瓶颈在很多地方,不是你我能讨论的,理论很简单,简单到CS学生都能懂,除
了了理论还有别的太多东西要考虑,黄牛,秒杀,抢票软件等等。
【在 H*******g 的大作中提到】 : 我现在觉得火车票的设计太有意思了,要好好深入研究研究。 : 譬如说,上海到广州的车票,要途经杭州。 : 如果上海到广州的票没了,那么杭州到广州的票也跟着没了,是这个意思吧?
|
n*****t 发帖数: 22014 | 87 这个倒是没错,比如楼上的问题就衍生出一个 biz logic,假如同时收到请求,我是卖
10 张短途的还是卖一张全程的,这个系统要做好不是技术的问题了。
【在 A*****i 的大作中提到】 : 火车票设计和纽约地铁票设计没啥区别 : 我们有一门课的期末project就是做个这东西出来 : 12306的瓶颈在很多地方,不是你我能讨论的,理论很简单,简单到CS学生都能懂,除 : 了了理论还有别的太多东西要考虑,黄牛,秒杀,抢票软件等等。
|
H*******g 发帖数: 6997 | 88 A,B,C,D,E共5个站。 A是始发站,E是终点站。终点都是E的话,一个有多少个商品?
我怎么觉得其实只有一个商品呢?
不管从哪个车站上车,只要终点是E,那买一张票就少了一个位置,只用管E不就好了? |
A*****i 发帖数: 3587 | 89 如果终点不都是E呢?那就不是5种票,提前下的座位也会空出来给后上的
【在 H*******g 的大作中提到】 : A,B,C,D,E共5个站。 A是始发站,E是终点站。终点都是E的话,一个有多少个商品? : 我怎么觉得其实只有一个商品呢? : 不管从哪个车站上车,只要终点是E,那买一张票就少了一个位置,只用管E不就好了?
|