t**********1 发帖数: 550 | 1 这个实时优化分配卖票,确实挺难的。
就像我说的,啥都不做,从1000个16位short里选一个最大的,就超过0.9us。
而且我那个测试程序,所有数据还都在L1 cache。
实际上,65536路车,每路20和路段,3等共3000张票,远超20MB的L3 CACHE。意味着数
据要从main memory load。实际memory access要慢一个数量级。
就算是挑战,我还可以试试。
但是好虫得承认以下几点:
1. Transaction不是这样算的。任何数据库,我都可以做一个运行一天的transaction
。用Tickets per second是最合理衡量。其他的都是无耻故意找茬。
2. 现有的12306就是实时售票。你不能声称实时不好。更不能说实时不能做。现在的每
秒10K算实时,我的这个目标1MM 凭什么不算?
3. 你还要认识到同样的要求,你连100K都做不出来。
咱们就以上几点达成共识。大家纯粹技术交流,客观,公正,遵循体育精神。我可以试
试看。让诸位网友也有一个进一步交流的机会。
否则,就算了。我也省事了。 |
b*******g 发帖数: 603 | 2 这不是我的态度问题。这是12306的那些要求是硬性要求,不能妥协的问题。
我即没法让全国人民不刷票,更没脸让老弱病残抗大包,也没法说坐个车还要骨肉分离
,让他们空调房里等两三分钟短
信我觉得还可以接受。 |
t**********1 发帖数: 550 | 3 其实好虫的所有苛刻条件我都接受,想要试一下。
结果昨天他又临时加了一条,用transaction per second来衡量,还要能处理all-or-
none团体票。
比如有团体要买500张票,跨n个车次,要算一个transaction。
这个彻底激怒了我。
各位要是能让好虫端正态度,我还是愿意试试。
【在 b*******g 的大作中提到】 : 这不是我的态度问题。这是12306的那些要求是硬性要求,不能妥协的问题。 : 我即没法让全国人民不刷票,更没脸让老弱病残抗大包,也没法说坐个车还要骨肉分离 : ,让他们空调房里等两三分钟短 : 信我觉得还可以接受。
|
b*******g 发帖数: 603 | 4 12306写得清清楚楚,一个订单最多5张票。我设计系统就是按照这个要求来的,你不分
析需求,丢人了你怪谁?我让你做两张已经是看你可怜,让你了。
【在 t**********1 的大作中提到】 : 其实好虫的所有苛刻条件我都接受,想要试一下。 : 结果昨天他又临时加了一条,用transaction per second来衡量,还要能处理all-or- : none团体票。 : 比如有团体要买500张票,跨n个车次,要算一个transaction。 : 这个彻底激怒了我。 : 各位要是能让好虫端正态度,我还是愿意试试。
|
c****3 发帖数: 10787 | 5 座位其实是可以在前端,用个程序根据当前空位自动算的,最后发request的时候,多
给几个座位选项就成了,这种灵活性是最高的。用户体验是一样的。
后端算座位,如果座位分配算法变了,加了什么优先级,还得停机后端服务器更换程序
,一般人不会这么干的。 |
n******7 发帖数: 12463 | 6 插嘴一下
他不是说,最多两个车次联票,最多两个人团体票
而且这种要求不超过10%
这个还好吧
【在 t**********1 的大作中提到】 : 其实好虫的所有苛刻条件我都接受,想要试一下。 : 结果昨天他又临时加了一条,用transaction per second来衡量,还要能处理all-or- : none团体票。 : 比如有团体要买500张票,跨n个车次,要算一个transaction。 : 这个彻底激怒了我。 : 各位要是能让好虫端正态度,我还是愿意试试。
|
t**********1 发帖数: 550 | 7 最多订50张500张都没问题。
问题是订1张还是500张,在你那里算performance都算一个transaction。
你如果这么衡量,我可以说任何数据库都一天做一个transaction。有这么不要脸的么?
【在 b*******g 的大作中提到】 : 12306写得清清楚楚,一个订单最多5张票。我设计系统就是按照这个要求来的,你不分 : 析需求,丢人了你怪谁?我让你做两张已经是看你可怜,让你了。
|
t**********1 发帖数: 550 | 8 不是,他要求团体票比例任意。
还特意说要慢2.2倍。原帖都在,证据确凿。
这是也个要脸的人做法么?
【在 n******7 的大作中提到】 : 插嘴一下 : 他不是说,最多两个车次联票,最多两个人团体票 : 而且这种要求不超过10% : 这个还好吧
|
n*****t 发帖数: 22014 | 9 联程加多张票,总比例不超过 10%,或者按 ticket per second 算,结果除 1.1
【在 n******7 的大作中提到】 : 插嘴一下 : 他不是说,最多两个车次联票,最多两个人团体票 : 而且这种要求不超过10% : 这个还好吧
|
z*******3 发帖数: 13709 | 10 关键在于会错
这种涉及到钱的交易
其实很少有人敢搞分布式事务
就是用nosql的都少
这就是为什么google弄个几万人的ebusiness都挂了
【在 c****3 的大作中提到】 : 座位其实是可以在前端,用个程序根据当前空位自动算的,最后发request的时候,多 : 给几个座位选项就成了,这种灵活性是最高的。用户体验是一样的。 : 后端算座位,如果座位分配算法变了,加了什么优先级,还得停机后端服务器更换程序 : ,一般人不会这么干的。
|
|
|
z*******3 发帖数: 13709 | 11 transaction这种消耗,你就是乘以2都算是便宜你了
【在 n*****t 的大作中提到】 : 联程加多张票,总比例不超过 10%,或者按 ticket per second 算,结果除 1.1
|
b*******g 发帖数: 603 | 12 符合实际就好。一个订单就是一个transaction,对应一个客户的request。所有互联网
应用都是这么算的。
你要马鬃去买东西,也没有说买2样东西每样两张,算4个transaction的。
说到底,百万订单来了,你接不了,我接得了。不就完了,死撑有用吗?
么?
【在 t**********1 的大作中提到】 : 最多订50张500张都没问题。 : 问题是订1张还是500张,在你那里算performance都算一个transaction。 : 你如果这么衡量,我可以说任何数据库都一天做一个transaction。有这么不要脸的么?
|
t**********1 发帖数: 550 | 13 你这种狗屁不懂的,别现眼了。
【在 z*******3 的大作中提到】 : transaction这种消耗,你就是乘以2都算是便宜你了
|
n*****t 发帖数: 22014 | 14 一次把你的要求整完了,别老魏答应接了又婆婆妈妈
【在 b*******g 的大作中提到】 : 12306写得清清楚楚,一个订单最多5张票。我设计系统就是按照这个要求来的,你不分 : 析需求,丢人了你怪谁?我让你做两张已经是看你可怜,让你了。
|
z*******3 发帖数: 13709 | 15 呵呵
transaction加倍之后,难度可不只是两倍
四倍甚至十倍都有
oracle就是搞这个牛逼,所以db卖得红火
否则谁用它的?
所以不要想当然这里是线性关联了
指数级增长的
【在 n******7 的大作中提到】 : 插嘴一下 : 他不是说,最多两个车次联票,最多两个人团体票 : 而且这种要求不超过10% : 这个还好吧
|
z*******3 发帖数: 13709 | 16 呵呵,比transaction都不懂强多了
【在 t**********1 的大作中提到】 : 你这种狗屁不懂的,别现眼了。
|
t**********1 发帖数: 550 | 17 什么叫符合实际。
我担保现在12306的性能也是按照每秒出票数量算的。
TPC-C的transaction如何定义都要写的清清楚楚。根本就是怎么定义都行。只要大家遵
守。
【在 b*******g 的大作中提到】 : 符合实际就好。一个订单就是一个transaction,对应一个客户的request。所有互联网 : 应用都是这么算的。 : 你要马鬃去买东西,也没有说买2样东西每样两张,算4个transaction的。 : 说到底,百万订单来了,你接不了,我接得了。不就完了,死撑有用吗? : : 么?
|
z*******3 发帖数: 13709 | 18 啧啧
数据库搞transaction是所有人都怕的东西
当然难
就你这样不懂transaction的才敢大嘴一张,瞎吹
搞你的计数器去把
么?
【在 t**********1 的大作中提到】 : 最多订50张500张都没问题。 : 问题是订1张还是500张,在你那里算performance都算一个transaction。 : 你如果这么衡量,我可以说任何数据库都一天做一个transaction。有这么不要脸的么?
|
z*******3 发帖数: 13709 | 19 计数器不符合实际
够清楚没有?
所以说你的东西就是一toy
【在 t**********1 的大作中提到】 : 什么叫符合实际。 : 我担保现在12306的性能也是按照每秒出票数量算的。 : TPC-C的transaction如何定义都要写的清清楚楚。根本就是怎么定义都行。只要大家遵 : 守。
|
z*******3 发帖数: 13709 | 20 回去学一下db基础
补点课
这都不懂还自诩it人士
实在不懂找个dba给你讲讲
别丢人了
【在 t**********1 的大作中提到】 : 什么叫符合实际。 : 我担保现在12306的性能也是按照每秒出票数量算的。 : TPC-C的transaction如何定义都要写的清清楚楚。根本就是怎么定义都行。只要大家遵 : 守。
|
|
|
t**********1 发帖数: 550 | 21 你要脸么?任何数据库都只能一天做一个transaction,连两个都做不了。
【在 z*******3 的大作中提到】 : 啧啧 : 数据库搞transaction是所有人都怕的东西 : 当然难 : 就你这样不懂transaction的才敢大嘴一张,瞎吹 : 搞你的计数器去把 : : 么?
|
z*******3 发帖数: 13709 | 22 人家数据库比你的计数器快多了
你以为谁都跟你一样无能
只懂搞计数器
【在 t**********1 的大作中提到】 : 你要脸么?任何数据库都只能一天做一个transaction,连两个都做不了。
|
z*******3 发帖数: 13709 | 23 理论上也不会锁所有数据
也就是你,认为4和无限是一回事
狡辩,继续打滚,看你打滚到什么时候
【在 t**********1 的大作中提到】 : 你要脸么?任何数据库都只能一天做一个transaction,连两个都做不了。
|
n*****t 发帖数: 22014 | 24 别特么扯淡了,每秒 1M票,5 秒钟就下班了,谁便宜谁啊
【在 z*******3 的大作中提到】 : transaction这种消耗,你就是乘以2都算是便宜你了
|
t**********1 发帖数: 550 | 25 别不要脸了,transaction运行超过一天的多了。这个你要是不知道,还是别活了。
【在 z*******3 的大作中提到】 : 人家数据库比你的计数器快多了 : 你以为谁都跟你一样无能 : 只懂搞计数器
|
z*******3 发帖数: 13709 | 26 错了你今晚就别回去了
涉及到钱的东西
错一点,加班一个晚上
小意思
【在 n*****t 的大作中提到】 : 别特么扯淡了,每秒 1M票,5 秒钟就下班了,谁便宜谁啊
|
n*****t 发帖数: 22014 | 27 LOL 你先证明一下哪里错了
【在 z*******3 的大作中提到】 : 错了你今晚就别回去了 : 涉及到钱的东西 : 错一点,加班一个晚上 : 小意思
|
z*******3 发帖数: 13709 | 28 啧啧
开始打滚了
你这里想让transaction跑一天是不是?
理论上transaction跑十年都可以,只要你定义好起点和终点
给足够的资源,问题在于,4张票,你跑一天?
啧啧,这个水平不是一般的高
【在 t**********1 的大作中提到】 : 别不要脸了,transaction运行超过一天的多了。这个你要是不知道,还是别活了。
|
b*******g 发帖数: 603 | 29 你死皮赖脸有用吗?你说的这种transaction是12306的出票用的吗?
驴唇先对了马嘴再说。
【在 t**********1 的大作中提到】 : 你要脸么?任何数据库都只能一天做一个transaction,连两个都做不了。
|
z*******3 发帖数: 13709 | 30 网络很容易就丢包了
你这里不是想交给前端嘛
诶,这里丢几个包,数据就不一致了
要么就单机做,单机做倒是可以避开transaction
但是数据存放,又会涉及到网络
又会错,除非你什么都单机做
那这个就是一台大主机,很贵的哦
【在 n*****t 的大作中提到】 : LOL 你先证明一下哪里错了
|
|
|
z*******3 发帖数: 13709 | 31 机票就是一台主机在做
12306是一个分布式在做
当初ibm就建议铁道部用主机
但是铁道部又嫌贵
那这个没有办法,世界上没有这么便宜的事 |
b*******g 发帖数: 603 | 32 早说了上主机,我都懒得跟他争。偏偏要20K,自己打脸还怪谁。
【在 z*******3 的大作中提到】 : 网络很容易就丢包了 : 你这里不是想交给前端嘛 : 诶,这里丢几个包,数据就不一致了 : 要么就单机做,单机做倒是可以避开transaction : 但是数据存放,又会涉及到网络 : 又会错,除非你什么都单机做 : 那这个就是一台大主机,很贵的哦
|
n*****t 发帖数: 22014 | 33 艾玛,神医发货还记得要个签字,你这真是太弱了。
再告诉你一次,抢票节点完全不用做 log,甚至都可以不要求结果完全正确,目标只有
吞吐快
【在 z*******3 的大作中提到】 : 网络很容易就丢包了 : 你这里不是想交给前端嘛 : 诶,这里丢几个包,数据就不一致了 : 要么就单机做,单机做倒是可以避开transaction : 但是数据存放,又会涉及到网络 : 又会错,除非你什么都单机做 : 那这个就是一台大主机,很贵的哦
|
z*******3 发帖数: 13709 | 34 log都没有
做啥呀?
错了都不知道哪里错
所以这种不能干这行
还是做toy去吧
【在 n*****t 的大作中提到】 : 艾玛,神医发货还记得要个签字,你这真是太弱了。 : 再告诉你一次,抢票节点完全不用做 log,甚至都可以不要求结果完全正确,目标只有 : 吞吐快
|
z*******3 发帖数: 13709 | 35 吞吐快是以前计算机比较弱时候的想法
因为硬件资源不够丰富,所以拼命榨
现在硬件便宜得跟什么一样,你这样做是给谁省钱么?
铁道部缺你省的这点内存和硬盘的钱?
【在 n*****t 的大作中提到】 : 艾玛,神医发货还记得要个签字,你这真是太弱了。 : 再告诉你一次,抢票节点完全不用做 log,甚至都可以不要求结果完全正确,目标只有 : 吞吐快
|
n*****t 发帖数: 22014 | 36 LOL 我就知道你理解不能,果然
【在 z*******3 的大作中提到】 : log都没有 : 做啥呀? : 错了都不知道哪里错 : 所以这种不能干这行 : 还是做toy去吧
|
z*******3 发帖数: 13709 | 37 你打滚没用
【在 n*****t 的大作中提到】 : LOL 我就知道你理解不能,果然
|
z*******3 发帖数: 13709 | 38 所以不能相信做toy的人的水平
思维跟不上,永远就想着怎么做toy
【在 n*****t 的大作中提到】 : LOL 我就知道你理解不能,果然
|
n*****t 发帖数: 22014 | 39 有些东西你永远理解不了,不怪你
哪天你想通了为啥可以不用 LOG 再来掺合
【在 z*******3 的大作中提到】 : 所以不能相信做toy的人的水平 : 思维跟不上,永远就想着怎么做toy
|
z*******3 发帖数: 13709 | 40 呵呵,不是可以不可以的问题
是没有人敢这么做
你就是测试出来100%test cases通过
也不会有人这么做
不要老想做toy
【在 n*****t 的大作中提到】 : 有些东西你永远理解不了,不怪你 : 哪天你想通了为啥可以不用 LOG 再来掺合
|
|
|
n*****t 发帖数: 22014 | 41 木瓜脑袋没办法,我告诉你很多地方这么做估计你也不信,算了
【在 z*******3 的大作中提到】 : 呵呵,不是可以不可以的问题 : 是没有人敢这么做 : 你就是测试出来100%test cases通过 : 也不会有人这么做 : 不要老想做toy
|
z*******3 发帖数: 13709 | 42 我这么跟你明确一下
票从这台机器发送回客户电脑上
这里涉及到网络
就一定会出错
没有log就等死
你说没出票,客户说有出,忘记保存了
让你重出一张,你就哭去吧
没有log这里就是纯粹找死
【在 n*****t 的大作中提到】 : 艾玛,神医发货还记得要个签字,你这真是太弱了。 : 再告诉你一次,抢票节点完全不用做 log,甚至都可以不要求结果完全正确,目标只有 : 吞吐快
|
z*******3 发帖数: 13709 | 43 当然不信
这是做toy的思路
怎么能信
【在 n*****t 的大作中提到】 : 木瓜脑袋没办法,我告诉你很多地方这么做估计你也不信,算了
|
n*****t 发帖数: 22014 | 44 擦,这个 log 为啥必须抢票节点做?
【在 z*******3 的大作中提到】 : 我这么跟你明确一下 : 票从这台机器发送回客户电脑上 : 这里涉及到网络 : 就一定会出错 : 没有log就等死 : 你说没出票,客户说有出,忘记保存了 : 让你重出一张,你就哭去吧 : 没有log这里就是纯粹找死
|
z*******3 发帖数: 13709 | 45 这点东西,连it审计都会给你提出意见,要求定期整改
【在 n*****t 的大作中提到】 : 木瓜脑袋没办法,我告诉你很多地方这么做估计你也不信,算了
|
z*******3 发帖数: 13709 | 46 你都不做,就是错的
没啥好问的
就是没有
【在 n*****t 的大作中提到】 : 擦,这个 log 为啥必须抢票节点做?
|
n*****t 发帖数: 22014 | 47 你再思考思考,进取进取
【在 z*******3 的大作中提到】 : 这点东西,连it审计都会给你提出意见,要求定期整改
|
z*******3 发帖数: 13709 | 48 我做这个比你资格老多了
你还是学习一下吧
【在 n*****t 的大作中提到】 : 你再思考思考,进取进取
|
n*****t 发帖数: 22014 | 49 哎 。。。无可救药了
一路串行 N 台主机,谁做都能做,我干嘛把这蛋疼的事放到这?
【在 z*******3 的大作中提到】 : 你都不做,就是错的 : 没啥好问的 : 就是没有
|
z*******3 发帖数: 13709 | 50 不用n台主机
一台就够了
老姜,是时候回炉学习一下新技术的时候了
现在的it系统跟你们那个年代
差得太远了
【在 n*****t 的大作中提到】 : 哎 。。。无可救药了 : 一路串行 N 台主机,谁做都能做,我干嘛把这蛋疼的事放到这?
|
|
|
L*****e 发帖数: 8347 | 51 老赵啊,作为一个咖啡大牛,你多花点时间帮助咖啡学习者吧,人家昨天问你的那个为
什么不compile的咖啡code,你的回答作为一个咖啡大牛,可是有点不合格啊。。。或
者,你是启发式地帮助那个楼主?
【在 z*******3 的大作中提到】 : 不用n台主机 : 一台就够了 : 老姜,是时候回炉学习一下新技术的时候了 : 现在的it系统跟你们那个年代 : 差得太远了
|
n*****t 发帖数: 22014 | 52 没法说你了,刚才说 1M 来不及,这会又说不用分了,你是不是连 log server 都没听
说过?
【在 z*******3 的大作中提到】 : 不用n台主机 : 一台就够了 : 老姜,是时候回炉学习一下新技术的时候了 : 现在的it系统跟你们那个年代 : 差得太远了
|
z*******3 发帖数: 13709 | 53 老姜,貌似你跟我的主机这个单词的定义有些不同
你应该学习一下主机是啥,以主机的性能和价格,你上n台
你不是一般的牛逼啊
【在 n*****t 的大作中提到】 : 没法说你了,刚才说 1M 来不及,这会又说不用分了,你是不是连 log server 都没听 : 说过?
|
z*******3 发帖数: 13709 | 54 关键是没有context
所以比较难纠错
不知道他扔进来的是啥
光跟他说接口和impl没有意义啊
不懂还是不懂
【在 L*****e 的大作中提到】 : 老赵啊,作为一个咖啡大牛,你多花点时间帮助咖啡学习者吧,人家昨天问你的那个为 : 什么不compile的咖啡code,你的回答作为一个咖啡大牛,可是有点不合格啊。。。或 : 者,你是启发式地帮助那个楼主?
|