q*c 发帖数: 9453 | 1 就是开始说的给定出发结束站,和车次,出票。
问题是出发站和结束站不一定,而且是很可能不在一条线上。 结果就是给了一个出发
站在祖国东边,一个结束站在祖国西面,中间 15 个可能的车次。 这是实际的使用情
况。
这找票就麻烦了。 老魏的协议没看,不知道有没有考虑这个。 |
t**********1 发帖数: 550 | 2 大家都要要脸。说的是同一车次。
怎么对某些人来讲,做个人,要点脸,就这么难?
好虫要是早要脸,也不至于如此。两年多来主动挑衅的一直是他。
怎么还有这么多人一个德行?真是物以类聚,人以群分。
【在 q*c 的大作中提到】 : 就是开始说的给定出发结束站,和车次,出票。 : 问题是出发站和结束站不一定,而且是很可能不在一条线上。 结果就是给了一个出发 : 站在祖国东边,一个结束站在祖国西面,中间 15 个可能的车次。 这是实际的使用情 : 况。 : 这找票就麻烦了。 老魏的协议没看,不知道有没有考虑这个。
|
q*c 发帖数: 9453 | 3 偶,我没看你们的大批帖子,就是看到你和老赵对战顺便想到提出来。
如果你们商量的是所有票都必然同一个车次,那就不同了。 你们帖子太多没法看,你
们继续,我是个打酱油的。
【在 t**********1 的大作中提到】 : 大家都要要脸。说的是同一车次。 : 怎么对某些人来讲,做个人,要点脸,就这么难? : 好虫要是早要脸,也不至于如此。两年多来主动挑衅的一直是他。 : 怎么还有这么多人一个德行?真是物以类聚,人以群分。
|
b*******g 发帖数: 603 | 4 太监你别装了。大家都认清了你也就做个单机计数器的本事。我低估了现在 CPU的性能
是一回事,愿赌服输是没什么的。你这东西离 12306还十万八千里。
【在 t**********1 的大作中提到】 : 大家都要要脸。说的是同一车次。 : 怎么对某些人来讲,做个人,要点脸,就这么难? : 好虫要是早要脸,也不至于如此。两年多来主动挑衅的一直是他。 : 怎么还有这么多人一个德行?真是物以类聚,人以群分。
|
t**********1 发帖数: 550 | 5 废话,难道你的东西离12306更近?你这两年多也快作到头了。
知耻近乎勇,你最大的问题就是这个。别的我就不说了。
【在 b*******g 的大作中提到】 : 太监你别装了。大家都认清了你也就做个单机计数器的本事。我低估了现在 CPU的性能 : 是一回事,愿赌服输是没什么的。你这东西离 12306还十万八千里。
|
n****j 发帖数: 1708 | 6 选路径是前端和用户的事,铁老大没义务也没权力硬塞一张半夜的票给别人。
【在 q*c 的大作中提到】 : 就是开始说的给定出发结束站,和车次,出票。 : 问题是出发站和结束站不一定,而且是很可能不在一条线上。 结果就是给了一个出发 : 站在祖国东边,一个结束站在祖国西面,中间 15 个可能的车次。 这是实际的使用情 : 况。 : 这找票就麻烦了。 老魏的协议没看,不知道有没有考虑这个。
|
z****e 发帖数: 54598 | 7
老姜问一个问题
a和b同时发送一个请求到不同的外围机上
然后不同的外围机发送请求到核心机
在这里你会做一个排序,a在前或者b在前
请问你如何保证这个顺序客观真实?
你怎么知道这个顺序一定是对的?
【在 n****j 的大作中提到】 : 选路径是前端和用户的事,铁老大没义务也没权力硬塞一张半夜的票给别人。
|
n********d 发帖数: 7676 | 8 哎。现在已经变成口水站了。就是看怎么把问题简化到单机可做。这个问题,要让我做
,肯定还是会走scale out的路子。算法啥的都不是啥大问题,我的算法不好,但是也
没啥人能做的更好。这都是十多年前就研究透的东西。这个玩意,即使是线性网络,也
还是NP hard。而且routing 和 seat assignment肯定要一起做。没听说过还得让用户
自己去选路径的,搞一个专门做routing的机器选路径,然后问server能不能有票,没
票就再让做routing的机器选另一个路径,back and forth。这种方法也很蠢。N个前端
机一个server也不是个事。这个得懂点排队论。你说response time从server开始算,
这个有点耍流氓。用户可不管你是不是用前端队列buffer requests。anyway,用万能
轮子做scale out,俺也不太同意。俺个人看法,春运这种有特殊流量pattern的,如果
不在流量pattern上入手,简直就是犯罪。俺一个直觉就是要做geographic partition
,反正大多数都是从北上广到中西部走,geographic partition是很自然的事,用C*
这种靠hash partition的,有点暴敛天物啊。 |
n********d 发帖数: 7676 | 9 disclaimer:纯属就问题讨论,无意得罪各路高手。
partition
【在 n********d 的大作中提到】 : 哎。现在已经变成口水站了。就是看怎么把问题简化到单机可做。这个问题,要让我做 : ,肯定还是会走scale out的路子。算法啥的都不是啥大问题,我的算法不好,但是也 : 没啥人能做的更好。这都是十多年前就研究透的东西。这个玩意,即使是线性网络,也 : 还是NP hard。而且routing 和 seat assignment肯定要一起做。没听说过还得让用户 : 自己去选路径的,搞一个专门做routing的机器选路径,然后问server能不能有票,没 : 票就再让做routing的机器选另一个路径,back and forth。这种方法也很蠢。N个前端 : 机一个server也不是个事。这个得懂点排队论。你说response time从server开始算, : 这个有点耍流氓。用户可不管你是不是用前端队列buffer requests。anyway,用万能 : 轮子做scale out,俺也不太同意。俺个人看法,春运这种有特殊流量pattern的,如果 : 不在流量pattern上入手,简直就是犯罪。俺一个直觉就是要做geographic partition
|
n****j 发帖数: 1708 | 10 第一,这个顺序不重要,
第二,对核心来说,按收到请求的先后次序处理,即按时间排序。
【在 z****e 的大作中提到】 : : 老姜问一个问题 : a和b同时发送一个请求到不同的外围机上 : 然后不同的外围机发送请求到核心机 : 在这里你会做一个排序,a在前或者b在前 : 请问你如何保证这个顺序客观真实? : 你怎么知道这个顺序一定是对的?
|
|
|
n****j 发帖数: 1708 | 11 能简单 scale out 就不需要抢票鸡了,正是因为数据强耦合才引进这个机制,从而达
到 scale out 目的。
partition
【在 n********d 的大作中提到】 : 哎。现在已经变成口水站了。就是看怎么把问题简化到单机可做。这个问题,要让我做 : ,肯定还是会走scale out的路子。算法啥的都不是啥大问题,我的算法不好,但是也 : 没啥人能做的更好。这都是十多年前就研究透的东西。这个玩意,即使是线性网络,也 : 还是NP hard。而且routing 和 seat assignment肯定要一起做。没听说过还得让用户 : 自己去选路径的,搞一个专门做routing的机器选路径,然后问server能不能有票,没 : 票就再让做routing的机器选另一个路径,back and forth。这种方法也很蠢。N个前端 : 机一个server也不是个事。这个得懂点排队论。你说response time从server开始算, : 这个有点耍流氓。用户可不管你是不是用前端队列buffer requests。anyway,用万能 : 轮子做scale out,俺也不太同意。俺个人看法,春运这种有特殊流量pattern的,如果 : 不在流量pattern上入手,简直就是犯罪。俺一个直觉就是要做geographic partition
|
z****e 发帖数: 54598 | 12
当然重要,这个不重要不用谈了
什么都没做
这个顺序并不是公平的,如果你不打算尽可能保证公平的话
这个东西不用做了
【在 n****j 的大作中提到】 : 第一,这个顺序不重要, : 第二,对核心来说,按收到请求的先后次序处理,即按时间排序。
|
n****j 发帖数: 1708 | 13 真要骂娘了,时间优先不公平,你说什么顺序公平?你说得出就做得到,只要合理,兄
弟不是吓大的。
【在 z****e 的大作中提到】 : : 当然重要,这个不重要不用谈了 : 什么都没做 : 这个顺序并不是公平的,如果你不打算尽可能保证公平的话 : 这个东西不用做了
|
n****j 发帖数: 1708 | 14 另外,两个请求差 10-9 次方时间到底,票即使给了后到的,会炸锅吗?虽然实际是严
格按时间顺序来的。
【在 z****e 的大作中提到】 : : 当然重要,这个不重要不用谈了 : 什么都没做 : 这个顺序并不是公平的,如果你不打算尽可能保证公平的话 : 这个东西不用做了
|
z****e 发帖数: 54598 | 15
说了嘛,这个时间是你核心机自己定出来的时间
这种时间是错误的顺序,这个你不理解么?
我说了,在某一个时间段(按你说的,时间段)内
给一个pool,这个时间段内收到的所有msg,都算是同时收到的
尽量保证你这个core能够把所有外围机的数据包给归并一次
这就很公平吧?这样你至少有200~500个票
同时因为一次多张,加上上限不限//参考imei说的
所以这里参考12306最大时候的峰值,也就是上千万每秒
我们认为就是上万张票/ms,这就是你的pool size了
然后你在这1ms内找出一个组合填满所有座位
【在 n****j 的大作中提到】 : 真要骂娘了,时间优先不公平,你说什么顺序公平?你说得出就做得到,只要合理,兄 : 弟不是吓大的。
|
z****e 发帖数: 54598 | 16
这种方式就是不公平,不用废话了
排队是个大学问,如果排队不重要的话
那还搞什么?大家抽签,来
12306峰值并发上千万,请问你到底想过这里有并发的问题了没有?
你要是认为这里并发不是问题的话,你可以不用做了
【在 n****j 的大作中提到】 : 另外,两个请求差 10-9 次方时间到底,票即使给了后到的,会炸锅吗?虽然实际是严 : 格按时间顺序来的。
|
n****j 发帖数: 1708 | 17 什么叫我定的时间,当然只能按收到请求先后排序,莫非我还追到网吧看谁先按的鼠标?
别扯蛋,冲突怎么处理给个原则。
【在 z****e 的大作中提到】 : : 这种方式就是不公平,不用废话了 : 排队是个大学问,如果排队不重要的话 : 那还搞什么?大家抽签,来 : 12306峰值并发上千万,请问你到底想过这里有并发的问题了没有? : 你要是认为这里并发不是问题的话,你可以不用做了
|
n****j 发帖数: 1708 | 18 刚才你说时间优先不公平,现在又是后来先售不公平,到底什么是公平你说清楚
【在 z****e 的大作中提到】 : : 这种方式就是不公平,不用废话了 : 排队是个大学问,如果排队不重要的话 : 那还搞什么?大家抽签,来 : 12306峰值并发上千万,请问你到底想过这里有并发的问题了没有? : 你要是认为这里并发不是问题的话,你可以不用做了
|
z****e 发帖数: 54598 | 19
标?
这里哪有冲突?
假设所有外围机到核心机的时间是一样的
然后你的核心机因为只有一个core
所以轮询一次所有外围机发过来的已经建立好的tcp connection
完成一次请求处理
最后归并所有的请求里面的票信息
做成pool,然后从pool中选取一个最优解来
这个方式不比你那种强制排队公平?
【在 n****j 的大作中提到】 : 什么叫我定的时间,当然只能按收到请求先后排序,莫非我还追到网吧看谁先按的鼠标? : 别扯蛋,冲突怎么处理给个原则。
|
z****e 发帖数: 54598 | 20
你的方式不公平,你不可能按照一个core的处理顺序来强制排序好吧?
你至少开它几个core,然后用几个网卡,然后开几个tcp connections
然后挨个轮询一次,归并最后拿到的票的信息,形成一个pool
从中找到最优解,否则要你做什么?你做了半天就是一个单线程的破烂
你当谁写不出来单线程,单core,双循环穷举算法?
我不想说了,好累啊,你连这个都不懂,我能说啥?
【在 n****j 的大作中提到】 : 刚才你说时间优先不公平,现在又是后来先售不公平,到底什么是公平你说清楚
|
|
|
n********d 发帖数: 7676 | 21 所以要去耦合啊。根据地域partition好以后,对于每个partition,你用单机也好,用
轮子堆机器也好,都容易一些。这种问题实际上网络延迟是很要紧的,partition
dedicated server可以尽量靠近用户。对于cross partition的流量,可以单独考虑,
出票慢点就慢点吧。
【在 n****j 的大作中提到】 : 能简单 scale out 就不需要抢票鸡了,正是因为数据强耦合才引进这个机制,从而达 : 到 scale out 目的。 : : partition
|
n****j 发帖数: 1708 | 22 老魏这个就是去耦合,所有记录锁在一个节点上
【在 n********d 的大作中提到】 : 所以要去耦合啊。根据地域partition好以后,对于每个partition,你用单机也好,用 : 轮子堆机器也好,都容易一些。这种问题实际上网络延迟是很要紧的,partition : dedicated server可以尽量靠近用户。对于cross partition的流量,可以单独考虑, : 出票慢点就慢点吧。
|
x******e 发帖数: 466 | 23 你跟赵也别争了,你承认你错了他就开心了,你就让他开心去就行了。给他台阶下就好
了,就像卖东西,A和B两个人给我电话要买同一个东西,当然谁先到我这我东西卖给谁
。A电话打得早但走路过来,B电话打得晚但是开车先到,难道还要我不卖给B因为A先打
电话?这也太好笑了。A穷没车,B有钱有车,我卖个东西还要照顾这个?没钱开车那是
你的问题,我卖我的东西我的票又不是搞慈善。什么叫做公平?这就是最公平的买卖环
境。如果你电脑中病毒点了鼠标没用,难道我还得考虑这个。。。
【在 n****j 的大作中提到】 : 老魏这个就是去耦合,所有记录锁在一个节点上
|
n****j 发帖数: 1708 | 24 其实赵老师煞费苦心搞了个 100% 出票,最终还是然并卵,对整个系统来说最多加几台
486
【在 x******e 的大作中提到】 : 你跟赵也别争了,你承认你错了他就开心了,你就让他开心去就行了。给他台阶下就好 : 了,就像卖东西,A和B两个人给我电话要买同一个东西,当然谁先到我这我东西卖给谁 : 。A电话打得早但走路过来,B电话打得晚但是开车先到,难道还要我不卖给B因为A先打 : 电话?这也太好笑了。A穷没车,B有钱有车,我卖个东西还要照顾这个?没钱开车那是 : 你的问题,我卖我的东西我的票又不是搞慈善。什么叫做公平?这就是最公平的买卖环 : 境。如果你电脑中病毒点了鼠标没用,难道我还得考虑这个。。。
|
x******e 发帖数: 466 | 25 他不是不懂,他只是不承认而已,你也就退一步好了。关于并发,是不可能有两个东西
在同一时间瞬时同时到达。只要你的测量精度足够细,10的-10不行那我就-100,总是
有差异的,总有先后,就像世界上没有直线一样,都是或多或少有曲度的。
【在 n****j 的大作中提到】 : 其实赵老师煞费苦心搞了个 100% 出票,最终还是然并卵,对整个系统来说最多加几台 : 486
|
z****e 发帖数: 54598 | 26
这个懂,问题是你怎么证明这个顺序是客观的?
这种排序方式其实就是一种你自己搞的顺序结构
跟真实顺序无关,要是这样的话,很多东西都很容易了
而且这样做很容易制造出空位来,但凡是固定顺序,必然能够制造出空位
这个算法功能测试就通不过,就是实现不了100%出票咯
这个谁要否认么?现在说的100%无非就是,我定了一个顺序
然后坚持认为这个顺序是真实的,基于这个顺序,我能够出票
【在 x******e 的大作中提到】 : 他不是不懂,他只是不承认而已,你也就退一步好了。关于并发,是不可能有两个东西 : 在同一时间瞬时同时到达。只要你的测量精度足够细,10的-10不行那我就-100,总是 : 有差异的,总有先后,就像世界上没有直线一样,都是或多或少有曲度的。
|
z****e 发帖数: 54598 | 27 如果你不在乎公平,那你干脆就在外围机排队就好了
直接根据外围机local time编号
然后汇总,然后当发生冲突的时候,自己random一个数字
取其中一个便可,吃饱了弄成单机干什么?
你自己本机不能做?非要塞过来?
而且车次和车次独立,车站和车站独立,你这个无法分开?
如果顺着这个思路下去,你这个东西存在的意义就变得可疑起来
你干嘛这么做? |