g*****g 发帖数: 34805 | 1 最根本的,不懂得把商业逻辑和数据库分开。他的单机能不能顶住百万次冲击另说,
他把订单接收,订单存储,订单处理,余票维护,统统放在了一台机器上。
把东西放在一个篮子上不说,处理订单和存储订单都在一起,降低单机性能是必然的。
app server要stateless,要不管存储,这样可以无限扩张,这才是高性能集群的必须。
其次,不懂得把竞争的资源分开。余票数目就是一个竞争的counter,他前台所有的
request都要-1,后台所有的退票都要+1。最后的结果就是所有的线程都等在这个
counter上,前后台一起排队,timeout。
前台几百条web server没当。用户可以发request,但是没有response,于是继续刷。
本来一人下一单,现在一人下10单都是可能的。
所以,魏老师很忙。 |
z****e 发帖数: 54598 | 2 魏老师比其它那几头强的地方就是他多少懂点java
所以跟他说app server, stateless这些概念,他还是能懂的
剩下的那几个打酱油的,基本上都看不懂
老魏缺少的只是把这十年的课给补上
这不,总算明白cloud了,知道web server要放cloud上了 |
g*****g 发帖数: 34805 | 3 也知道上Cassandra了。问题是这些都有了,不就是复制我的方案,还要他的牛逼
单机干嘛?
【在 z****e 的大作中提到】 : 魏老师比其它那几头强的地方就是他多少懂点java : 所以跟他说app server, stateless这些概念,他还是能懂的 : 剩下的那几个打酱油的,基本上都看不懂 : 老魏缺少的只是把这十年的课给补上 : 这不,总算明白cloud了,知道web server要放cloud上了
|
T********i 发帖数: 2416 | 4 你这么多天还一直洋洋自得你的10万每秒呢。288台机器100万勉强就不得了了。
这个是单机500万请求每秒。你的方案要先queue住这些请求。处理速度基本上和单线程
区别不大。
我还没问你你要用cassandra怎么queue住呢?众所周知queue是要有排序的。
cassandra这方面短板基本无药可医。
你能用cache我为啥不能用。
我可以multicast票务状态实时给无穷台服务器,还可以跨dc。让这些台服务器去分流
压力好了。真正有票才给主服务器试一下。
要不要再搞几台queue服务器继续分流?我说了1-2万一台。从来没说过多少台。
我看搞20台,够服务全世界了。
【在 g*****g 的大作中提到】 : 最根本的,不懂得把商业逻辑和数据库分开。他的单机能不能顶住百万次冲击另说, : 他把订单接收,订单存储,订单处理,余票维护,统统放在了一台机器上。 : 把东西放在一个篮子上不说,处理订单和存储订单都在一起,降低单机性能是必然的。 : app server要stateless,要不管存储,这样可以无限扩张,这才是高性能集群的必须。 : 其次,不懂得把竞争的资源分开。余票数目就是一个竞争的counter,他前台所有的 : request都要-1,后台所有的退票都要+1。最后的结果就是所有的线程都等在这个 : counter上,前后台一起排队,timeout。 : 前台几百条web server没当。用户可以发request,但是没有response,于是继续刷。 : 本来一人下一单,现在一人下10单都是可能的。 : 所以,魏老师很忙。
|
z****e 发帖数: 54598 | 5 其实把他的硬件配置乘以4,做成一个小集群
上个jboss,绝对性能不会比他单机差
处理票的数据罢了,不过这个乘以4放在几百个web server的背景下
显得微不足道,也就是10%的计算量,避开高峰期,找个没什么人的时间
比如凌晨3点左右处理一下就好了
但是放在他原来那个1w单机的背景下,显得很大
哇,四倍
【在 g*****g 的大作中提到】 : 也知道上Cassandra了。问题是这些都有了,不就是复制我的方案,还要他的牛逼 : 单机干嘛?
|
T********i 发帖数: 2416 | 6 说实话,跟你的cassandra半毛钱关系都没有。
卖完票我后台用个mysql都没压力。用microsoft access mdb都行。
就那么几亿张票,顺序写进去。
【在 g*****g 的大作中提到】 : 也知道上Cassandra了。问题是这些都有了,不就是复制我的方案,还要他的牛逼 : 单机干嘛?
|
T********i 发帖数: 2416 | 7 你的基本功不行。紧耦合的同步开销算不明白的。
这是你的短板。板上明白人这么多。别露馅了。
【在 z****e 的大作中提到】 : 其实把他的硬件配置乘以4,做成一个小集群 : 上个jboss,绝对性能不会比他单机差 : 处理票的数据罢了,不过这个乘以4放在几百个web server的背景下 : 显得微不足道,也就是10%的计算量,避开高峰期,找个没什么人的时间 : 比如凌晨3点左右处理一下就好了 : 但是放在他原来那个1w单机的背景下,显得很大 : 哇,四倍
|
g*****g 发帖数: 34805 | 8 又不懂了吧,Cassandra的ID我当然用的是time based uuid,怎么会有排序问题呢?
100万我300台机器处理了,你要500万,我就上1500台机器,干嘛要queue呢?都是写硬
盘呀。
你的牛逼SSD不舍得买。
你那内存数据库,怎么反反复复来?让你复制到全世界,也是异步存,没有ack。出了
事不是闹着
玩得。
【在 T********i 的大作中提到】 : 你这么多天还一直洋洋自得你的10万每秒呢。288台机器100万勉强就不得了了。 : 这个是单机500万请求每秒。你的方案要先queue住这些请求。处理速度基本上和单线程 : 区别不大。 : 我还没问你你要用cassandra怎么queue住呢?众所周知queue是要有排序的。 : cassandra这方面短板基本无药可医。 : 你能用cache我为啥不能用。 : 我可以multicast票务状态实时给无穷台服务器,还可以跨dc。让这些台服务器去分流 : 压力好了。真正有票才给主服务器试一下。 : 要不要再搞几台queue服务器继续分流?我说了1-2万一台。从来没说过多少台。 : 我看搞20台,够服务全世界了。
|
z****e 发帖数: 54598 | 9 我压根不需要紧耦合,直接分库处理
还同步,你又吃太饱了
跟你说了,几百个web server没跑
你省那么几台做什么?
【在 T********i 的大作中提到】 : 你的基本功不行。紧耦合的同步开销算不明白的。 : 这是你的短板。板上明白人这么多。别露馅了。
|