主题:【原创】好吧,给一个铁道部订票系统的正确答案 -- 布老虎
可以看出来你根本看不懂我老的雄文,完全不理解具体的设计思路,也不理解这里面的关键所在,不明白这里面为什么会有挑战性,更不明白为什么铁道部的网站会crash。
你最后居然哆哆嗦嗦拿出一本Postgresql来建议大家好好研究,我靠,开了眼了,你这大数据的处理方法(如果还能叫方法)居然不是分布式处理,你让铁道部用postgresql,接着买几百个核的服务器??难怪2千万美刀打不住。你这预算,估计得宰上亿美刀。
你把google的那些mapreduce/spanner的paper好好读明白了再来这里讨论。从你的帖子看,你不懂分布式数据处理。
而且铁路的售票系统如果在黄金周或者春运出问题就是政治问题, 有人要负责任的。
也算人才啊。
难怪我看半天总觉得不对劲。你对铁道部,就这阶级感情?
的花销,现在上线了人一多就死翘翘,这两天全国开骂呢。 healthcare.org
送花 关闭
送花成功。恭喜:你意外获得 4 铢钱。1通宝=16铢
作者,声望:1;铢钱:0。你,乐善:1;铢钱:3。本帖花:1
互联网并不是不用事务,所有交易相关的都少不了的。
从事务的角度否定完全采用nosql有一点道理。
另外这些如银行用自己的队伍开发更多是业务知识积累,这只能说不同行业的软件开发需要不同行业的业务知识,外包若没有充足的业务知识累积可能造成灾难。
关键还是具体问题具体分析。
"不同的事务锁定不同的数据行"做不到,但将票按线路分表,每个表一个事务,这样对“写”操作应该可以并行不少了。更进一步的话,由于用户每次预订操作都是针对一个日期的一条线路来的,按日期和线路两者进行分表,这样并行化也可以更进一步了。到这样的粒度的话,并发量应该就能降一个数量级了。假设高峰时每秒有1000万人同时订票,平均分布的线路有100条,订票时间分布在5天,那并发量也就是2W,貌似大部分订票操作是可以做到秒响应的。
我没试过春节高峰时订票,不知道高峰时到底响应怎么样,不过我怀疑铁路系统已经是这么做或是用类似的办法了。
这至少会增加一倍的时间,他们大概是估计不足了。
我是看了这句话,无话可说了。这哥们尼玛就根本没有干过CS啊。。。我不知道这十多年来他开了啥源。
这哥们说:
“事实上,根据我在开源世界十多年的经验,开源产品虽然创意足够多,但真正能够保证质量,懂得业务的产品几乎没有。”
任何干过码工的直立行走的人,都不会说这话。你这每天的开发应用居然没有用到开源项目?
这哥们完全不知道开源是干啥的,也不知道开源和业务逻辑之间的关系。他以为开源,是开业务逻辑的源。搞不好就一干外包的,做业务逻辑堆代码的。Spring开源了啥业务逻辑,说给大家听听?尼玛
那些说话云山雾罩吞吞吐吐神神秘秘的骗子到处都有,差别就在国内把很多事情看得很神秘,所以相信的人很多。国外很多事情很多高手亲自做过,所以很难骗到。所以我老一看到这厮的帖子,就断定这厮在国内,就是一做外包的,完全不理解交易的原理和过程,没干过正经CS开发,最多堆一点业务逻辑代码之类。Oracle/IBM的数据库,在他看来是神圣不可侵犯的东西。
结果这哥们上来胡侃了一通啥CRUD不是Transaction(这尼玛就不是可以比较的两件事),告诉大家绝对不要相信open source,要绝对相信厂家(Oracle, IBM),这事情很神秘很高深,不是你们可以搞懂的,只有厂家懂,你们乱来,是要负政治责任滴。政治责任,懂吗?你付得起吗?这transaction有多神秘多难,你们懂吗?看过postgresql吗?
这尼玛postgresql不就是开源的?你这TMD整出一单机版的准备糊弄铁道部?
计算机技术这东西说白了就是一层窗户纸,一捅就破。没有任何东西是神圣不可侵犯。当年的Spring就是对EJB的不满,啥JB XA,净尼玛胡扯。国内当时照样有人到处宣传,说唯一正确的交易处理方法就是EJB,结果现在没有人用EJB了,傻了吧?EJB就是Sun瞎JB捣鼓出来卖ApplicationServer用的,你看看现在还有人买ApplicationServer吗?数据库这东西也是一样,现在的NoSql就是对relational的修正。你做transaction可以在应用层,也可以在数据库层。有人非得说transaction一定要在数据库层,一定要指定厂家才行,那如果不是故意装傻,就是真傻了。国外这事早就讨论清楚了,所以才有NoSql风生水起。只有国内厂家的Sales,“干了”10多年open source居然没见过啥像样项目的,才敢这么梗着脖子胡扯。
我老在雄文里辛辛苦苦地给大家捅破这层窗户纸,大家居然看不懂,仍然顺着强大的思维惯性,下意识地觉得这东西很神秘,不是自己可以碰的,还是别想了,想也没用,做不出来的,不如听厂家的,一身轻松,省事不费脑,还有好借口。
我老实在是对你们这些人很失望。
做标准。
能不能解释一下为什么Obamacare的网站,可以作为benchmark?
10亿美元包硬件软件带5年维护不闭口合同。误差正负50%
不知道会不会被公司K
听说第一轮IBM也竞标了,还是个天文数字。其实我觉得应该是会亏本的。
谁会知道峰值访问量500w
这意味着很多成熟解决方案都不能用了。如果要拿taobao比的话,的确人家搞的都是不怎么花钱的东西,但是人家重写了一遍。。
前面回复有误。重写。
我觉得比较省钱的方案是多层架构。多层不是应用多层,而是应用+服务器多层。每个省一套应用服务。该省的服务器只卖该省出发的车票,该省用户只访问该省服务器。他的业务说起来不是很难,查询比较多,针对查询可以把查询分流到特定服务器+缓存处理。查询不是实时的,业务要做改变。订票和查询分离,单独做transaction,访问单独的服务器,数据库。由于每个省只卖自己出发的车票,意味着订购处理可以放在省一级,每个省自己处理完请求后再统一汇总到中心去。
当然还有个中心服务器,但是不对用户开放。只供后台汇总数据,发布数据之用。最后现有的业务流程要改变,发布数据和开放订购不能同时,这样人家就会在前面自己去注册看数据决定要不要抢票了。其他林林总总要改的还很多。
总之现在是中心处理式的,要改成能横向扩展的分布式应用。铁道部还是老老实实采购大厂商的服务吧,现在这种水平说实话他们现在解决不了这个问题。不是一年两年,十年也不行。
错了勿喷。。。毕竟不懂铁路业务。
没钱说个jb。。
上了网站看了一下,2000万里面有1900万去买了硬件,剩下的50万内部吃喝请嫖去掉了。最后50万准备来做个系统。然后里面集成了一套流行开源产品。而且我也不觉得质量来的是“深入骨髓”的水平。国内平均档次吧。
好吧,当然用开源也不是什么大问题,问题是要懂在哪里用,用什么开源也是要花钱的。而且开源一般通用型的,说实话这里只能无关紧要的地方用用。
所以
所以没钱说个jb。。
可以作为反面教材的benchmark。