t**********1 发帖数: 550 | 1 其实严肃讨论的,我的12306架构又转移到出票机(支付系统)上面来了。
如果要达到我说的性能,其实支付端要实现一个ACID的系统。幸好我们的应用简单,不
需要通用ACID数据库,只需要简化成一个ACID message queue就好了。
ACID message queue,输入是有序的message。每个message带一个单调递增的message
ID。甚至增量严格定义为1没有问题。
如果抢票机死掉,这个message queue负责回放某个message ID开始的所有交易。恢复
现场。
其实这个message queue关键技术在于存储。存储设备的IOPS要达到至少1M IOPS。
网上搜搜,就可以看到多少battery backed RAMDisk或者SSD能够达标就好了。
思索的几点误区:
1. 文件系统开销呢?
答:raw memory map file,可以确保每次写一个record(512 byte以内)正好一个IO
。记住一定每个记录都要fsync阿。呵呵。
2. message queue挂了怎么办?
答:多于一个串联,甚至可以跨DC partition。这也是我当年强调的一串单机。记住,
一串queue,throughput不变。彼此都能恢复。恢复协议不要太简单呵呵。
3. 即使有1M IOPS,那么你光写IO了,还干不干别的?
答:其实这个和误区2也有关。写I/O其实是独立的core thread。记住,网络收到了,
但是没写I/O,其实可以当作没收到。写了I/O以后才能送给下家。
其实这种类似的产品金融圈用了多年了。我还知道有人专门开公司做这种产品。本来就
不是稀奇的东西。
说白了,这是一种带各种限制的专用系统。通用系统不能做1M,不代表专用的不能。我
个人认为,现有技术,record不大,做5M都没问题。 |
t**********1 发帖数: 550 | 2 话又说回来了,即使你认为做不到1M,100K没难度吧?
下行10个100K的可以不可以?
关键是抢票核心根本不需要persistence。
还有外围的cache机能够filter大多数无效请求。
这种思考基本无脑都能下结论。 |
t****n 发帖数: 263 | 3 两个问题:
查询,用户可以有一段时间回来付款。这需要查询
退票
如果要加component的话,怎么保证所有component状态一致?
message
【在 t**********1 的大作中提到】 : 其实严肃讨论的,我的12306架构又转移到出票机(支付系统)上面来了。 : 如果要达到我说的性能,其实支付端要实现一个ACID的系统。幸好我们的应用简单,不 : 需要通用ACID数据库,只需要简化成一个ACID message queue就好了。 : ACID message queue,输入是有序的message。每个message带一个单调递增的message : ID。甚至增量严格定义为1没有问题。 : 如果抢票机死掉,这个message queue负责回放某个message ID开始的所有交易。恢复 : 现场。 : 其实这个message queue关键技术在于存储。存储设备的IOPS要达到至少1M IOPS。 : 网上搜搜,就可以看到多少battery backed RAMDisk或者SSD能够达标就好了。 : 思索的几点误区:
|
t**********1 发帖数: 550 | 4 我说了,先输入付款信息,然后抢票更好,一切就都自动化了。
抢完付款也行。抢到票,抢票机给支付机一个message。带UID和其它信息。就没抢票机
啥事了。
规定时间,比如10分钟不支付,支付系统退票给抢票机好了。
支付系统acid mq我已经讲了。其实都可以是轮子,也就是写一个抢票机和cache机的问
题。
【在 t****n 的大作中提到】 : 两个问题: : 查询,用户可以有一段时间回来付款。这需要查询 : 退票 : 如果要加component的话,怎么保证所有component状态一致? : : message
|
t****n 发帖数: 263 | 5 先付款恐怕更糟。退款的transaction会多于出票的。
你并没有回答他的问题。你得弄明白你的magical的付款系统,queue,抢票机作为一个
整体是怎么保证状态一致,acid的?记得要支持退票
【在 t**********1 的大作中提到】 : 我说了,先输入付款信息,然后抢票更好,一切就都自动化了。 : 抢完付款也行。抢到票,抢票机给支付机一个message。带UID和其它信息。就没抢票机 : 啥事了。 : 规定时间,比如10分钟不支付,支付系统退票给抢票机好了。 : 支付系统acid mq我已经讲了。其实都可以是轮子,也就是写一个抢票机和cache机的问 : 题。
|
b*******g 发帖数: 603 | 6 太监这是把我前端同步下单缓冲,后端异步出票的思路都抄下来了,早干嘛去了,尼玛
设计了两年,就是我说一点,你抄一点,你唯一的贡献就是太监计数器。还糖葫芦串一
串,C*, Kafka都是现成的轮子。
现在也知道单机出票还是来不及,要十台机器了?尼玛你不是单机卖银河系的票吗?十
台机器你还全国一盘棋吗?
傻逼外行老实听着就好了。也就抄点牙慧的本事还他妈出来死撑。 |
t**********1 发帖数: 550 | 7 其实是你没搞清楚状况。
别忘了抢票机是单机。抢到票后给MQ发给消息就好了。别忘了MQ是ACID的。因此消息是
ACID的。至于MQ后如何付钱。是标准网购的程序,真不需要我来说。
至于你说支付系统性能,这不是我操心的问题。但是支付是容易scale out的。这个你
要承认。
只要你承认ACID MQ能做就好了。
关键是MQ的消息设计,消息必须要包含足够信息才行。信息不足就死。但是消息我们自
己随便定义。
其实communication as transaction是关键。
【在 t****n 的大作中提到】 : 先付款恐怕更糟。退款的transaction会多于出票的。 : 你并没有回答他的问题。你得弄明白你的magical的付款系统,queue,抢票机作为一个 : 整体是怎么保证状态一致,acid的?记得要支持退票
|
w**z 发帖数: 8232 | 8 kafka is the message queue widely used in case you don't know.
message
【在 t**********1 的大作中提到】 : 其实严肃讨论的,我的12306架构又转移到出票机(支付系统)上面来了。 : 如果要达到我说的性能,其实支付端要实现一个ACID的系统。幸好我们的应用简单,不 : 需要通用ACID数据库,只需要简化成一个ACID message queue就好了。 : ACID message queue,输入是有序的message。每个message带一个单调递增的message : ID。甚至增量严格定义为1没有问题。 : 如果抢票机死掉,这个message queue负责回放某个message ID开始的所有交易。恢复 : 现场。 : 其实这个message queue关键技术在于存储。存储设备的IOPS要达到至少1M IOPS。 : 网上搜搜,就可以看到多少battery backed RAMDisk或者SSD能够达标就好了。 : 思索的几点误区:
|
t**********1 发帖数: 550 | 9 你离死不远的人了,别再落下更多地笑柄了。
【在 b*******g 的大作中提到】 : 太监这是把我前端同步下单缓冲,后端异步出票的思路都抄下来了,早干嘛去了,尼玛 : 设计了两年,就是我说一点,你抄一点,你唯一的贡献就是太监计数器。还糖葫芦串一 : 串,C*, Kafka都是现成的轮子。 : 现在也知道单机出票还是来不及,要十台机器了?尼玛你不是单机卖银河系的票吗?十 : 台机器你还全国一盘棋吗? : 傻逼外行老实听着就好了。也就抄点牙慧的本事还他妈出来死撑。
|
t**********1 发帖数: 550 | 10 不一样的东西。如果你看不出哪里不一样,算我没说。
【在 w**z 的大作中提到】 : kafka is the message queue widely used in case you don't know. : : message
|
|
|
t****n 发帖数: 263 | 11 你真是嘴硬。你的mq支持查询吗?怎么支持?退票的时候怎么保证抢票机和你的mq状态
一致?这些比你的计数器难多了。那个连scrub the surface都算不上。
而且goodbug说得对,你这个本质上就是他的思路。考虑的远没他全面。
【在 t**********1 的大作中提到】 : 其实是你没搞清楚状况。 : 别忘了抢票机是单机。抢到票后给MQ发给消息就好了。别忘了MQ是ACID的。因此消息是 : ACID的。至于MQ后如何付钱。是标准网购的程序,真不需要我来说。 : 至于你说支付系统性能,这不是我操心的问题。但是支付是容易scale out的。这个你 : 要承认。 : 只要你承认ACID MQ能做就好了。 : 关键是MQ的消息设计,消息必须要包含足够信息才行。信息不足就死。但是消息我们自 : 己随便定义。 : 其实communication as transaction是关键。
|
t**********1 发帖数: 550 | 12 你开玩笑是吧?mq为啥要查询?
别忘了,抢票机只管reserve票。然后告诉MQ,我帮着这个user id reserve了这个票。
同时告诉用户前端去支付。
然后MQ给支付系统好了。用户前端这时候可以直接和支付系统打交道。
退票退的是票。直接告诉抢票机,这张票退掉了。
查询最多就是message从某点回放。in case抢票机挂了恢复用。
大家都在纸上谈兵。我知道能解决的问题从来不用来诘难别人。这是基本的做人道理。
【在 t****n 的大作中提到】 : 你真是嘴硬。你的mq支持查询吗?怎么支持?退票的时候怎么保证抢票机和你的mq状态 : 一致?这些比你的计数器难多了。那个连scrub the surface都算不上。 : 而且goodbug说得对,你这个本质上就是他的思路。考虑的远没他全面。
|
b*******g 发帖数: 603 | 13 全国一盘棋,单机强耦合,卖银河系的票。你丫还是先把核心抢票机先做出来。别谈
MQ这种你根本不懂的东西。
你这个单线程百万票光 CPU都很成问题,IO更不说,扯别的没用。
【在 t**********1 的大作中提到】 : 你开玩笑是吧?mq为啥要查询? : 别忘了,抢票机只管reserve票。然后告诉MQ,我帮着这个user id reserve了这个票。 : 同时告诉用户前端去支付。 : 然后MQ给支付系统好了。用户前端这时候可以直接和支付系统打交道。 : 退票退的是票。直接告诉抢票机,这张票退掉了。 : 查询最多就是message从某点回放。in case抢票机挂了恢复用。 : 大家都在纸上谈兵。我知道能解决的问题从来不用来诘难别人。这是基本的做人道理。
|
t**********1 发帖数: 550 | 14 我说了,你做10万票,我做你一倍。
你做不到,根本没有讨论的资格。
【在 b*******g 的大作中提到】 : 全国一盘棋,单机强耦合,卖银河系的票。你丫还是先把核心抢票机先做出来。别谈 : MQ这种你根本不懂的东西。 : 你这个单线程百万票光 CPU都很成问题,IO更不说,扯别的没用。
|
k******n 发帖数: 184 | 15 怎么从10倍变成1倍了。
而且就算是1m的msg queue离做出100w需求出票的商业项目还差得远。
和外行讨论问题最怕人冒出一个点子还都是别人早就想到并且实现过的。 |
b*******g 发帖数: 603 | 16 你做我100倍都没用,我老没说能做同步出票的。你丫傻逼非装所以只能打脸做太监。
【在 t**********1 的大作中提到】 : 我说了,你做10万票,我做你一倍。 : 你做不到,根本没有讨论的资格。
|
t**********1 发帖数: 550 | 17 说实话,2M的都多得是。这东西强实时,guarantee的。
你以为我成天用的是什么?当然我没有同步写盘的要求,是异步写盘,但是64byte
payload 5M跟玩儿一样。
【在 k******n 的大作中提到】 : 怎么从10倍变成1倍了。 : 而且就算是1m的msg queue离做出100w需求出票的商业项目还差得远。 : 和外行讨论问题最怕人冒出一个点子还都是别人早就想到并且实现过的。
|
t****n 发帖数: 263 | 18 真累。你这里几乎每一句话都有错。捡要紧的说
查询,你是说有个支付系统能支持1m/s的transaction了?嗯还要加上查询。有的话咱
们还费什么劲?
退票的时候不告诉mq?状态一致怎么保证?
【在 t**********1 的大作中提到】 : 你开玩笑是吧?mq为啥要查询? : 别忘了,抢票机只管reserve票。然后告诉MQ,我帮着这个user id reserve了这个票。 : 同时告诉用户前端去支付。 : 然后MQ给支付系统好了。用户前端这时候可以直接和支付系统打交道。 : 退票退的是票。直接告诉抢票机,这张票退掉了。 : 查询最多就是message从某点回放。in case抢票机挂了恢复用。 : 大家都在纸上谈兵。我知道能解决的问题从来不用来诘难别人。这是基本的做人道理。
|
t**********1 发帖数: 550 | 19 MQ只不过保持ordered message的ACID。
注意两个词,
第一,ordered是有序的,顺序不能错。
第二,ACID
抢票机保持所有票的状态。你说一共多少票?每天能出多少票?
抢到票,reserve票不给别人了,给MQ就行。MQ挂了,抢票机就不服务了。
退票用另一个MQ 做输入总行吧?
记住MQ消息是有序的。
别忘了,抢票机挂了,可以用另外一个standby抢票机补上。
这个standby抢票机说目前内存所有票的状态是这样,我同步到了消息12345670了。
然后他问MQ,把12345670以后的message给我,因为我是异步同步的。MQ给他,更新状
态,转换成production mode。
别问我所有standby都挂了怎么办?核战争怎么办?
【在 t****n 的大作中提到】 : 真累。你这里几乎每一句话都有错。捡要紧的说 : 查询,你是说有个支付系统能支持1m/s的transaction了?嗯还要加上查询。有的话咱 : 们还费什么劲? : 退票的时候不告诉mq?状态一致怎么保证?
|
r***s 发帖数: 1798 | 20 人身攻击加威胁,记录一下
★ 发自iPhone App: ChineseWeb 1.0.6
【在 t**********1 的大作中提到】 : 你离死不远的人了,别再落下更多地笑柄了。
|
|
|
t****n 发帖数: 263 | 21 你还是是在绕圈子。用户得到抢票成功通知后,去喝咖啡抽烟。半个小时后回来,登陆
,找到已抢到的票,付款。
付款成功后想想又退票。这里面involve的东西你还根本没触及呢。
折腾了这么久,唯一的收获是让你明白了一点transaction log(就是你所谓的mq)。
离一个可用的系统还查十万八千里哪。
我的好心情结束了。懒得再和你纠缠了。太费劲。
【在 t**********1 的大作中提到】 : MQ只不过保持ordered message的ACID。 : 注意两个词, : 第一,ordered是有序的,顺序不能错。 : 第二,ACID : 抢票机保持所有票的状态。你说一共多少票?每天能出多少票? : 抢到票,reserve票不给别人了,给MQ就行。MQ挂了,抢票机就不服务了。 : 退票用另一个MQ 做输入总行吧? : 记住MQ消息是有序的。 : 别忘了,抢票机挂了,可以用另外一个standby抢票机补上。 : 这个standby抢票机说目前内存所有票的状态是这样,我同步到了消息12345670了。
|
w**z 发帖数: 8232 | 22 下一步该说你能写出一个秒了Kafka的queue。
【在 t**********1 的大作中提到】 : 不一样的东西。如果你看不出哪里不一样,算我没说。
|
t**********1 发帖数: 550 | 23 你纠缠这些有意思么?
每天那千八百万张票,算个屁?我就问你,能不能抢到票,做成transactional的,你
没有异议吧?
至于那每天抢到票的1000万人怎么付款退货,就是大点的网购系统。
你的可用系统怎么算?非要上线production才算?
【在 t****n 的大作中提到】 : 你还是是在绕圈子。用户得到抢票成功通知后,去喝咖啡抽烟。半个小时后回来,登陆 : ,找到已抢到的票,付款。 : 付款成功后想想又退票。这里面involve的东西你还根本没触及呢。 : 折腾了这么久,唯一的收获是让你明白了一点transaction log(就是你所谓的mq)。 : 离一个可用的系统还查十万八千里哪。 : 我的好心情结束了。懒得再和你纠缠了。太费劲。
|
b*******g 发帖数: 603 | 24 随便写个NoSQL就比 C*强一两个数量级,写个MQ光秒Kafka那太谦虚了吧。
【在 w**z 的大作中提到】 : 下一步该说你能写出一个秒了Kafka的queue。
|
t****n 发帖数: 263 | 25 当然了,您多牛啊?魔杖一挥啥问题都“算个屁”。幻想自己攻克了一个可有可无的问
题就牛逼哄哄的。还是接着从事你大小报告这份光荣的职业去吧。
【在 t**********1 的大作中提到】 : 你纠缠这些有意思么? : 每天那千八百万张票,算个屁?我就问你,能不能抢到票,做成transactional的,你 : 没有异议吧? : 至于那每天抢到票的1000万人怎么付款退货,就是大点的网购系统。 : 你的可用系统怎么算?非要上线production才算?
|
t**********1 发帖数: 550 | 26 哦,你没啥可说的了对不对?
再问你一句,每天假设1000万人抢到票,抢到票以后每天1000万订单怎么checkout怎么
退货是问题么?如果不是你纠缠啥?
【在 t****n 的大作中提到】 : 当然了,您多牛啊?魔杖一挥啥问题都“算个屁”。幻想自己攻克了一个可有可无的问 : 题就牛逼哄哄的。还是接着从事你大小报告这份光荣的职业去吧。
|
h*i 发帖数: 3446 | 27 哈哈,goodbug每个贴都带女性生殖器,你记录了么?
【在 r***s 的大作中提到】 : 人身攻击加威胁,记录一下 : : ★ 发自iPhone App: ChineseWeb 1.0.6
|
t****n 发帖数: 263 | 28 是。你太笨。除了小报告屁都想不明白。笑柄一个而不自知。连他妈transaction log
也花了两年才想到。
【在 t**********1 的大作中提到】 : 哦,你没啥可说的了对不对? : 再问你一句,每天假设1000万人抢到票,抢到票以后每天1000万订单怎么checkout怎么 : 退货是问题么?如果不是你纠缠啥?
|
n****j 发帖数: 1708 | 29 你这问题问得真是业余,就挑你说的要紧的,有没有支付系统支持 1m/s,你来告诉大
家有还是没有。
我勒个去,现在的小孩都肿么了 。。。。。。
【在 t****n 的大作中提到】 : 真累。你这里几乎每一句话都有错。捡要紧的说 : 查询,你是说有个支付系统能支持1m/s的transaction了?嗯还要加上查询。有的话咱 : 们还费什么劲? : 退票的时候不告诉mq?状态一致怎么保证?
|
t****n 发帖数: 263 | 30 这个讨论里你的水平最差。边都不沾。别人在说什么你都不能理解。还瞎掺和。滚一边
去吧。一个车次一个数据库。哈哈,搞笑。
【在 n****j 的大作中提到】 : 你这问题问得真是业余,就挑你说的要紧的,有没有支付系统支持 1m/s,你来告诉大 : 家有还是没有。 : 我勒个去,现在的小孩都肿么了 。。。。。。
|
|
|
t**********1 发帖数: 550 | 31 给你更正一下,那就是个journal log。当年讨论烂的东西了,我现在都懒得提。
退一万步讲,你纠结何时想到有啥用?就这么个架构,有事说事。
log
【在 t****n 的大作中提到】 : 是。你太笨。除了小报告屁都想不明白。笑柄一个而不自知。连他妈transaction log : 也花了两年才想到。
|
n****j 发帖数: 1708 | 32 一个车次一个 DB 有什么不可以,你告诉我。
小屁孩别嘴巴不干净,技术问题非得变成骂战。哥不是不会骂人,只是不想当狗的爸这
种搅屎棍。
【在 t****n 的大作中提到】 : 这个讨论里你的水平最差。边都不沾。别人在说什么你都不能理解。还瞎掺和。滚一边 : 去吧。一个车次一个数据库。哈哈,搞笑。
|
b*******g 发帖数: 603 | 33 太监说全国一盘棋,你这是想做猪一样的队友吗?
【在 n****j 的大作中提到】 : 一个车次一个 DB 有什么不可以,你告诉我。 : 小屁孩别嘴巴不干净,技术问题非得变成骂战。哥不是不会骂人,只是不想当狗的爸这 : 种搅屎棍。
|
t****n 发帖数: 263 | 34 嗯。你以后面试,和你老板,客户也这么说,啊。不说是小狗。一个transaction拆开
分到不同的数据库上,throughput想翻多少倍就翻多少倍。就这么说。啊。
【在 n****j 的大作中提到】 : 一个车次一个 DB 有什么不可以,你告诉我。 : 小屁孩别嘴巴不干净,技术问题非得变成骂战。哥不是不会骂人,只是不想当狗的爸这 : 种搅屎棍。
|
t****n 发帖数: 263 | 35 你高看他了。他根本没想明白全国一盘棋和不能分库有什么关系。看来也没希望想明白了
【在 b*******g 的大作中提到】 : 太监说全国一盘棋,你这是想做猪一样的队友吗?
|
n****j 发帖数: 1708 | 36 谁说一个 transcation 拆分到不同数据库了?真是日了狗了,你们捧狗的爸的,都是
这水平?
btw,哥这辈子不会去面试了,你丫悲愤去吧,LOL
【在 t****n 的大作中提到】 : 嗯。你以后面试,和你老板,客户也这么说,啊。不说是小狗。一个transaction拆开 : 分到不同的数据库上,throughput想翻多少倍就翻多少倍。就这么说。啊。
|
n****j 发帖数: 1708 | 37 还来劲了,打着滚犯傻,12306 到底能不能分库,yes or no?
一说到技术问题就开始打滚,你丫跟狗的爸真是天生一对啊。
白了
【在 t****n 的大作中提到】 : 你高看他了。他根本没想明白全国一盘棋和不能分库有什么关系。看来也没希望想明白了
|
t**********1 发帖数: 550 | 38 估计他的意思是一个transaction差分成几个车次联票,或者多份联票。
他就不想想,这和支付的时候咋存数据库有啥关系?反正都是ACID的。本来就是一个
trans拆成多个trans而已。
大多数都是三脚猫,小年轻比较喜欢现而已。你以后招人,也记得要找人品好的。
【在 n****j 的大作中提到】 : 谁说一个 transcation 拆分到不同数据库了?真是日了狗了,你们捧狗的爸的,都是 : 这水平? : btw,哥这辈子不会去面试了,你丫悲愤去吧,LOL
|
n****j 发帖数: 1708 | 39 看他昨天那个帖子里提的问题,逻辑混乱、理解能力差,跟狗的爸一摸一样,兄弟一直
忍着没好意思说。今天这个帖子,反问了他两三句技术问题,马上开始撒泼打滚,LOL
【在 t**********1 的大作中提到】 : 估计他的意思是一个transaction差分成几个车次联票,或者多份联票。 : 他就不想想,这和支付的时候咋存数据库有啥关系?反正都是ACID的。本来就是一个 : trans拆成多个trans而已。 : 大多数都是三脚猫,小年轻比较喜欢现而已。你以后招人,也记得要找人品好的。
|
b*******g 发帖数: 603 | 40 可以分票,不能分车次,就像12306现在实现的一样。估计你想破脑袋都想不明白为什
么。民科做永动机就这下场。
【在 n****j 的大作中提到】 : 还来劲了,打着滚犯傻,12306 到底能不能分库,yes or no? : 一说到技术问题就开始打滚,你丫跟狗的爸真是天生一对啊。 : : 白了
|
|
|
t**********1 发帖数: 550 | 41 已经跟他说了,从MQ开始就ACID,他就应该shut up了。MQ到支付也是ACID。因为支付
是ACID他不敢否认吧?
ACID一路到底,还纠结个啥?出结果是必须的。
LOL
【在 n****j 的大作中提到】 : 看他昨天那个帖子里提的问题,逻辑混乱、理解能力差,跟狗的爸一摸一样,兄弟一直 : 忍着没好意思说。今天这个帖子,反问了他两三句技术问题,马上开始撒泼打滚,LOL
|
n****j 发帖数: 1708 | 42 什么叫分票,什么叫分车次,别打滚,你说清楚定义。
【在 b*******g 的大作中提到】 : 可以分票,不能分车次,就像12306现在实现的一样。估计你想破脑袋都想不明白为什 : 么。民科做永动机就这下场。
|
b*******g 发帖数: 603 | 43 你这外行太监屁都不懂,我解释不了。
【在 n****j 的大作中提到】 : 什么叫分票,什么叫分车次,别打滚,你说清楚定义。
|
n****j 发帖数: 1708 | 44 傻逼又开始打滚,解释不了你丫得巴个屁啊,你丫脑子里一泡屎
【在 b*******g 的大作中提到】 : 你这外行太监屁都不懂,我解释不了。
|
t****n 发帖数: 263 | 45 你还真就是个民科。
【在 t**********1 的大作中提到】 : 估计他的意思是一个transaction差分成几个车次联票,或者多份联票。 : 他就不想想,这和支付的时候咋存数据库有啥关系?反正都是ACID的。本来就是一个 : trans拆成多个trans而已。 : 大多数都是三脚猫,小年轻比较喜欢现而已。你以后招人,也记得要找人品好的。
|
t****n 发帖数: 263 | 46 不能。你这样的民科在怎么问永动机做到了做不了答案都是一样的
【在 n****j 的大作中提到】 : 还来劲了,打着滚犯傻,12306 到底能不能分库,yes or no? : 一说到技术问题就开始打滚,你丫跟狗的爸真是天生一对啊。 : : 白了
|
n****j 发帖数: 1708 | 47 12306 不能分库,你说的啊,到时候别不认账,呵呵。其他就不讨论了,艺术生再见。
【在 t****n 的大作中提到】 : 不能。你这样的民科在怎么问永动机做到了做不了答案都是一样的
|
t****n 发帖数: 263 | 48 两年前被人踩过两个原子操作放在一起就不是一个原子操作了。好不容易弄明白了,还
“fix”了据说。现在又来两个acid放在一起还说acid。LOL。一点记性都不长
【在 t**********1 的大作中提到】 : 估计他的意思是一个transaction差分成几个车次联票,或者多份联票。 : 他就不想想,这和支付的时候咋存数据库有啥关系?反正都是ACID的。本来就是一个 : trans拆成多个trans而已。 : 大多数都是三脚猫,小年轻比较喜欢现而已。你以后招人,也记得要找人品好的。
|
t****n 发帖数: 263 | 49 嗯。我说的,我还说过永动机实现不了。你一块记下来吧
【在 n****j 的大作中提到】 : 12306 不能分库,你说的啊,到时候别不认账,呵呵。其他就不讨论了,艺术生再见。
|
a9 发帖数: 21638 | 50 还有不能分库的项目?
【在 t****n 的大作中提到】 : 不能。你这样的民科在怎么问永动机做到了做不了答案都是一样的
|
|
|
t****n 发帖数: 263 | 51 不能按车次分。可以按票分
【在 a9 的大作中提到】 : 还有不能分库的项目?
|
z****e 发帖数: 54598 | 52 应该说可以,就是慢,直接导致但是太监节省的那点时间就没有意义了
:还有不能分库的项目?
: |
t**********1 发帖数: 550 | 53 两个都是ACID,才可能是ACID,而且一定可以是ACID。如果有任何一个不是的话才有问
题。
既然可以做ACID是能够证明的,你问我怎么做就没意思了对吧?咱们讨论的就是设计是
否可行。
这个和design以及实现有关么?告诉你了,design用了ACID MQ,design错了没?
【在 t****n 的大作中提到】 : 两年前被人踩过两个原子操作放在一起就不是一个原子操作了。好不容易弄明白了,还 : “fix”了据说。现在又来两个acid放在一起还说acid。LOL。一点记性都不长
|
t****n 发帖数: 263 | 54 对,就是这个意思
【在 z****e 的大作中提到】 : 应该说可以,就是慢,直接导致但是太监节省的那点时间就没有意义了 : : :还有不能分库的项目? : :
|
n****j 发帖数: 1708 | 55 12306 现在就是核心 MQ +内存数据库,查询分库
【在 z****e 的大作中提到】 : 应该说可以,就是慢,直接导致但是太监节省的那点时间就没有意义了 : : :还有不能分库的项目? : :
|
t****n 发帖数: 263 | 56 “两个都是ACID,才可能是ACID,而且一定可以是ACID”。我和你没什么好说的了。我
又不是老师,没义务帮你解惑
【在 t**********1 的大作中提到】 : 两个都是ACID,才可能是ACID,而且一定可以是ACID。如果有任何一个不是的话才有问 : 题。 : 既然可以做ACID是能够证明的,你问我怎么做就没意思了对吧?咱们讨论的就是设计是 : 否可行。 : 这个和design以及实现有关么?告诉你了,design用了ACID MQ,design错了没?
|
t****n 发帖数: 263 | 57 “两个都是ACID,才可能是ACID,而且一定可以是ACID”。我和你没什么好说的了。我
又不是老师,没义务帮你解惑
【在 t**********1 的大作中提到】 : 两个都是ACID,才可能是ACID,而且一定可以是ACID。如果有任何一个不是的话才有问 : 题。 : 既然可以做ACID是能够证明的,你问我怎么做就没意思了对吧?咱们讨论的就是设计是 : 否可行。 : 这个和design以及实现有关么?告诉你了,design用了ACID MQ,design错了没?
|
n****j 发帖数: 1708 | 58 你吧,基础差,然后除了课本上的东西,其他自己就不会动脑子了。
其实也没啥,用别人造好的轮子,虽然慢点但不容易出错,混个酒足饭饱是没问题的。
【在 t****n 的大作中提到】 : 对,就是这个意思
|
t****n 发帖数: 263 | 59 我动脑子也不会去搞永动机啊!不像你。
【在 n****j 的大作中提到】 : 你吧,基础差,然后除了课本上的东西,其他自己就不会动脑子了。 : 其实也没啥,用别人造好的轮子,虽然慢点但不容易出错,混个酒足饭饱是没问题的。
|
t**********1 发帖数: 550 | 60 抢票机请求是出票机的100倍。节约的时间没意义?
出票理论证明可以几乎无限scale out,抢票你给我证明一个瞧瞧?
年轻人,要知道廉耻。
【在 t****n 的大作中提到】 : 对,就是这个意思
|
|
|
n****j 发帖数: 1708 | 61 刚才说不能分库,现在说永动机可以造、就是忒贵。
呵呵,承认自己错了就这么难啊,赵老师都在帮你擦屁股了。
【在 t****n 的大作中提到】 : 我动脑子也不会去搞永动机啊!不像你。
|
t****n 发帖数: 263 | 62 是啊我没你牛,按车次分库支持1m/s 的transaction。做永动机的很多。不差你一个
【在 n****j 的大作中提到】 : 刚才说不能分库,现在说永动机可以造、就是忒贵。 : 呵呵,承认自己错了就这么难啊,赵老师都在帮你擦屁股了。
|
n****j 发帖数: 1708 | 63 我去,非得嘴犟吗?1m/s 的支付系统有没有,再问你一遍
【在 t****n 的大作中提到】 : 是啊我没你牛,按车次分库支持1m/s 的transaction。做永动机的很多。不差你一个
|
t****n 发帖数: 263 | 64 这次说清楚点,省的离开上下文让人误解。
全国一盘棋,强耦合的,没有。
【在 n****j 的大作中提到】 : 我去,非得嘴犟吗?1m/s 的支付系统有没有,再问你一遍
|
z****e 发帖数: 54598 | 65
没错
这就是狗屁设计
早就有人说过了
这个东西还在思考单机
没有必要跟上一代人争论
上一代人就是老魏
【在 t****n 的大作中提到】 : 这次说清楚点,省的离开上下文让人误解。 : 全国一盘棋,强耦合的,没有。
|
t**********1 发帖数: 550 | 66 抢票机给发票机变成车票以后,就不是强耦合了。只不过几件商品在购物篮里。库存保
证有,去付款好了。
我都说了,这个应用可以几乎无限scale out。
至于你承认不承认,要看你的人品。
【在 t****n 的大作中提到】 : 这次说清楚点,省的离开上下文让人误解。 : 全国一盘棋,强耦合的,没有。
|
z****e 发帖数: 54598 | 67
付款一段时间后告诉你失败了
或者很长时间不响应,很正常,经常遇到
你那个标识是不是就永远不释放啊?
【在 t**********1 的大作中提到】 : 抢票机给发票机变成车票以后,就不是强耦合了。只不过几件商品在购物篮里。库存保 : 证有,去付款好了。 : 我都说了,这个应用可以几乎无限scale out。 : 至于你承认不承认,要看你的人品。
|
n****j 发帖数: 1708 | 68 有哪个业务系统有这个需求,没有需求当然没这玩意,但不代表做不到,明白?
【在 t****n 的大作中提到】 : 这次说清楚点,省的离开上下文让人误解。 : 全国一盘棋,强耦合的,没有。
|
n****j 发帖数: 1708 | 69 赵老师你不能跟他们学,挑战别人的时候要先想想这问题自己解得了解不了,释放一个
标志为什么做不到了?支付系统就不能 update 抢票鸡了???
【在 z****e 的大作中提到】 : : 付款一段时间后告诉你失败了 : 或者很长时间不响应,很正常,经常遇到 : 你那个标识是不是就永远不释放啊?
|
t****n 发帖数: 263 | 70 说了好多次了,你的抢票机,发票机,支付系统作为一个整体,状态必须consistent。
你连这里面有什么问题都没想明白。懒得说了
【在 t**********1 的大作中提到】 : 抢票机给发票机变成车票以后,就不是强耦合了。只不过几件商品在购物篮里。库存保 : 证有,去付款好了。 : 我都说了,这个应用可以几乎无限scale out。 : 至于你承认不承认,要看你的人品。
|
|
|
z****e 发帖数: 54598 | 71
笑了,当然可以做到
问题是多长时间坐到?
你这叫memory leak知道不?
麻痹的当年我做payment的,你这点狗屁我不懂?
【在 n****j 的大作中提到】 : 赵老师你不能跟他们学,挑战别人的时候要先想想这问题自己解得了解不了,释放一个 : 标志为什么做不到了?支付系统就不能 update 抢票鸡了???
|
t**********1 发帖数: 550 | 72 ACID系统,只要不挂,有结果是guarantee的。我说了,架构可以无限scale out。理论
上只要堆机器就可以保证响应。
付款失败就自动退票了。
【在 z****e 的大作中提到】 : : 笑了,当然可以做到 : 问题是多长时间坐到? : 你这叫memory leak知道不? : 麻痹的当年我做payment的,你这点狗屁我不懂?
|
t****n 发帖数: 263 | 73 我们正在讨论的问题呗。卖火车票
【在 n****j 的大作中提到】 : 有哪个业务系统有这个需求,没有需求当然没这玩意,但不代表做不到,明白?
|
b*******g 发帖数: 603 | 74 ACID要是能 scale out还要NoSQL干啥,太监你丫又开始挑战 CAP了。
【在 t**********1 的大作中提到】 : ACID系统,只要不挂,有结果是guarantee的。我说了,架构可以无限scale out。理论 : 上只要堆机器就可以保证响应。 : 付款失败就自动退票了。
|
t**********1 发帖数: 550 | 75 不明白的是你。
有了MQ journal,状态一定是consistent。
股票的order book状态变化比这个多多了。Intraday恢复book都是正常业务。
【在 t****n 的大作中提到】 : 说了好多次了,你的抢票机,发票机,支付系统作为一个整体,状态必须consistent。 : 你连这里面有什么问题都没想明白。懒得说了
|
z****e 发帖数: 54598 | 76
这是异步,网络上的支付处理,你acid个屁啊
你懂不懂我在说什么啊?
【在 t**********1 的大作中提到】 : ACID系统,只要不挂,有结果是guarantee的。我说了,架构可以无限scale out。理论 : 上只要堆机器就可以保证响应。 : 付款失败就自动退票了。
|
n****j 发帖数: 1708 | 77 这叫 memory leak???多长时间做到,你先告诉我事件频率,然后想想需要多庞大的
协议,然后就知道答案了。
赵老师你要讨论就好好讨论,点到为止。
【在 z****e 的大作中提到】 : : 这是异步,网络上的支付处理,你acid个屁啊 : 你懂不懂我在说什么啊?
|
b*******g 发帖数: 603 | 78 股票几天才 settle, exchange有权 cancel. 千万级火车票要动乱的。
【在 t**********1 的大作中提到】 : 不明白的是你。 : 有了MQ journal,状态一定是consistent。 : 股票的order book状态变化比这个多多了。Intraday恢复book都是正常业务。
|
t**********1 发帖数: 550 | 79 可以给个超时比如10分钟内完成支付。到时自动退票。
我说了,这些是几乎无限scale out的。都是成熟技术。
【在 z****e 的大作中提到】 : : 这是异步,网络上的支付处理,你acid个屁啊 : 你懂不懂我在说什么啊?
|
n****j 发帖数: 1708 | 80 卖火车票需要 1m/s?
【在 t****n 的大作中提到】 : 我们正在讨论的问题呗。卖火车票
|
|
|
t****n 发帖数: 263 | 81 你抬头看看这标题是什么。这是要缩回去了?不是按车次分库没问题吗?联票啥的都不
是个事儿吗?
【在 n****j 的大作中提到】 : 卖火车票需要 1m/s?
|
t**********1 发帖数: 550 | 82 就问你一句,支付是不是能无限scale out?如果能的话,你到底想争论啥?
【在 t****n 的大作中提到】 : 你抬头看看这标题是什么。这是要缩回去了?不是按车次分库没问题吗?联票啥的都不 : 是个事儿吗?
|
t****n 发帖数: 263 | 83 要支持联票就不能。再去看我前面的帖子吧。看不懂我也帮不了你。goodbug说了,去
研究下cap也行
【在 t**********1 的大作中提到】 : 就问你一句,支付是不是能无限scale out?如果能的话,你到底想争论啥?
|
s*****V 发帖数: 21731 | 84 有那么复杂么?
支付应该是无限SCALE的,如果不是,那就不是12306的问题了。
【在 t**********1 的大作中提到】 : 就问你一句,支付是不是能无限scale out?如果能的话,你到底想争论啥?
|
t**********1 发帖数: 550 | 85 那个tswen小朋友认为不是无限SCALE。呵呵。
【在 s*****V 的大作中提到】 : 有那么复杂么? : 支付应该是无限SCALE的,如果不是,那就不是12306的问题了。
|
t**********1 发帖数: 550 | 86 联票是我的抢票机出的。支付数据库就是记一个帐。买一张和100张联票有啥区别?
记账就是记录一下,别记丢了而已。
其实票怎么存储,我个人觉得无所谓。实在跟你抬杠我都可以说不管多少张票,都编码
成一个string存起来就好。支付就是购物蓝里面所有的票,统一付一次钱而已。
我甚至可以说,All or none,支付失败,所有的票立刻自动退掉。
【在 t****n 的大作中提到】 : 要支持联票就不能。再去看我前面的帖子吧。看不懂我也帮不了你。goodbug说了,去 : 研究下cap也行
|
t****n 发帖数: 263 | 87 又不是只有支付。他的design里不止支付。还有抢票机,mq。他还没想明白怎么保证状
态一致呢。
【在 s*****V 的大作中提到】 : 有那么复杂么? : 支付应该是无限SCALE的,如果不是,那就不是12306的问题了。
|
t****n 发帖数: 263 | 88 唉!怎么查?怎么退?有10遍了吗?
【在 t**********1 的大作中提到】 : 联票是我的抢票机出的。支付数据库就是记一个帐。买一张和100张联票有啥区别? : 记账就是记录一下,别记丢了而已。 : 其实票怎么存储,我个人觉得无所谓。实在跟你抬杠我都可以说不管多少张票,都编码 : 成一个string存起来就好。支付就是购物蓝里面所有的票,统一付一次钱而已。 : 我甚至可以说,All or none,支付失败,所有的票立刻自动退掉。
|
t**********1 发帖数: 550 | 89 出票是个ACID MQ你是不是没意见了?你要先承认这个,否则到时候再搞妖蛾子我不奉
陪。
你确定出票没问题,我告诉你其他的 :)
【在 t****n 的大作中提到】 : 唉!怎么查?怎么退?有10遍了吗?
|
t****n 发帖数: 263 | 90 不是,你的transaction里没包括支付系统。如果考虑退票还要包括抢票机。每个部分
都原子不代表整体是原子。这么简单的道理!
【在 t**********1 的大作中提到】 : 出票是个ACID MQ你是不是没意见了?你要先承认这个,否则到时候再搞妖蛾子我不奉 : 陪。 : 你确定出票没问题,我告诉你其他的 :)
|
|
|
t**********1 发帖数: 550 | 91 已经和你说了,MQ里,联票是一个message。一张票也是一个message。你别处理丢了就
行。
至于MQ里面订单怎么支付,根本不在我们讨论之内。因为是已经解决了的问题。
至于你问用户前端怎么和MQ对接的问题,我可以告诉你这是一个可以scale out的问题
。该咋做就咋做。也是一个已经解决了的问题。无非是网页等待后台一个异步服务出结
果的问题。这根本不是问题。
只要能够scale out,就不是问题,OK?
淘宝和Amazon支付咋做的,我们就咋做。
【在 t****n 的大作中提到】 : 不是,你的transaction里没包括支付系统。如果考虑退票还要包括抢票机。每个部分 : 都原子不代表整体是原子。这么简单的道理!
|
t****n 发帖数: 263 | 92 唉!到了mq就完了?不通知支付系统啦?通知失败了呢?不知道是成功还是失败的情况
呢?比如超时?还通知用户抢票成功吗?通知了还能保证你的throughput吗?
【在 t**********1 的大作中提到】 : 已经和你说了,MQ里,联票是一个message。一张票也是一个message。你别处理丢了就 : 行。 : 至于MQ里面订单怎么支付,根本不在我们讨论之内。因为是已经解决了的问题。 : 至于你问用户前端怎么和MQ对接的问题,我可以告诉你这是一个可以scale out的问题 : 。该咋做就咋做。也是一个已经解决了的问题。无非是网页等待后台一个异步服务出结 : 果的问题。这根本不是问题。 : 只要能够scale out,就不是问题,OK? : 淘宝和Amazon支付咋做的,我们就咋做。
|
t**********1 发帖数: 550 | 93 其实你看我以前的帖子。我一直都说,用户应该在抢票前就输入支付信息。
抢到了,抢票机生成一个token,同时给用户前端和MQ的message。MQ就自动支付了。不
管支付成功或者失败,把结果放到一个redis好了,就用token做key。同时email或者短
信通知。
用户前端甚至可以js每10秒poll一下redis,看看有没有结果。
记住,自动支付要假设一定有结果。支付系统挂了不赖我们。支付系统挂了就要一直等
他恢复,等一天一年都不管我事。
你自己算一下,这样能不能work?
我告诉你了,只要能scale out,都不是事儿。
【在 t****n 的大作中提到】 : 唉!到了mq就完了?不通知支付系统啦?通知失败了呢?不知道是成功还是失败的情况 : 呢?比如超时?还通知用户抢票成功吗?通知了还能保证你的throughput吗?
|
t****n 发帖数: 263 | 94 我也回答过了。先付款更糟。大大增加了transaction的数量。因为抢票失败也必须用
transaction了。更handle不了。
mq现在还管支付了。还是一步到位该用数据库算了吧
【在 t**********1 的大作中提到】 : 其实你看我以前的帖子。我一直都说,用户应该在抢票前就输入支付信息。 : 抢到了,抢票机生成一个token,同时给用户前端和MQ的message。MQ就自动支付了。不 : 管支付成功或者失败,把结果放到一个redis好了,就用token做key。同时email或者短 : 信通知。 : 用户前端甚至可以js每10秒poll一下redis,看看有没有结果。 : 记住,自动支付要假设一定有结果。支付系统挂了不赖我们。支付系统挂了就要一直等 : 他恢复,等一天一年都不管我事。 : 你自己算一下,这样能不能work? : 我告诉你了,只要能scale out,都不是事儿。
|
t**********1 发帖数: 550 | 95 抢票失败用屁transaction?
抢票机直接告诉他失败了,根本不会给出票机的MQ送任何东西。
抢票机可以做到guarantee响应。我说guarantee多少秒就是多少秒。
【在 t****n 的大作中提到】 : 我也回答过了。先付款更糟。大大增加了transaction的数量。因为抢票失败也必须用 : transaction了。更handle不了。 : mq现在还管支付了。还是一步到位该用数据库算了吧
|
t****n 发帖数: 263 | 96 人家钱都付了。你连transaction都不上,啧啧。
【在 t**********1 的大作中提到】 : 抢票失败用屁transaction? : 抢票机直接告诉他失败了,根本不会给出票机的MQ送任何东西。 : 抢票机可以做到guarantee响应。我说guarantee多少秒就是多少秒。
|
t**********1 发帖数: 550 | 97 付啥钱?就是给一个信用卡账号。
amazon on click看过吧?有货才划钱。
【在 t****n 的大作中提到】 : 人家钱都付了。你连transaction都不上,啧啧。
|
t****n 发帖数: 263 | 98 那就又回去了。划钱的cost是多少?划钱失败呢?不知道成功还是失败呢?
【在 t**********1 的大作中提到】 : 付啥钱?就是给一个信用卡账号。 : amazon on click看过吧?有货才划钱。
|
t**********1 发帖数: 550 | 99 你这就没意思了。失败退票。
不知道成功还是失败是支付系统的问题。票白送了。我做主。
【在 t****n 的大作中提到】 : 那就又回去了。划钱的cost是多少?划钱失败呢?不知道成功还是失败呢?
|
t****n 发帖数: 263 | 100 timeout太常见了。这都不支持?
谁发出的花款请求?失败回滚怎么保证全系统范围内的acid的?
【在 t**********1 的大作中提到】 : 你这就没意思了。失败退票。 : 不知道成功还是失败是支付系统的问题。票白送了。我做主。
|
|
|
t**********1 发帖数: 550 | 101 什么叫timeout?你没见js前端没10秒poll么?
假定支付系统平时1s,今天链路问题,带宽降低,变成10分钟,用户就一直去等好了。
根本没有什么timeout。
支付系统必须给结果。这是基本假设。否则就是挂了。挂了就一直等下去,等法重启恢
复后再给结果。
失败回滚个屁?告诉用户失败了。抢票机能抢票,退票不是更容易?而且latency都能
guarantee。
【在 t****n 的大作中提到】 : timeout太常见了。这都不支持? : 谁发出的花款请求?失败回滚怎么保证全系统范围内的acid的?
|
b******7 发帖数: 123 | 102 核心应该在抢票机上,怎么解决百万订票的数据耦合问题应该是关键,lz有方案吗? |