西西河

主题:【原创】好吧,给一个铁道部订票系统的正确答案 -- 布老虎

共:💬185 🌺732 🌵9 新:
全看分页树展 · 主题 跟帖
家园 支持布老虎的技术方案

按我理解,布老虎同学的方案其实要点有这么几个:

1. 事先存钱减少外部依赖。

2. 查询车次、有无票的请求绝对不能直接压数据库,解决方案是把相关数据分离到一个定时刷新的副本。这里问题在于查票时看到的情况和最终数据库里的未必一致 —— 但考虑到所有人同时上来查票买票的情况,这本来就无法避免。

3. 所有实际买票的请求,先进队列,方便削峰填谷,避免数据库超载。

4. 所有车票数据,分散到若干各自独立的数据库里(术语叫 sharding),这样互不干涉的买票操作可以并行完成。

在我看来,布老虎的方案直击要点,一把抓住了单台数据库服务器负载能力有限这个瓶颈。由此判断,布老虎应该确实有处理高并发的经验。

事实上,这个总体方案一定,最后具体机器上数据库是选 MySQL 还是 Oracle,其实已经无关大局了。纠缠开源软件不可靠的说法,我感觉根本没有明白问题的核心在哪里。谈什么政治责任的,更是莫名其妙:买了 IBM/Oracle 还出问题,拍板人员就不用负责任了?如果铁道部上上下下真是这么想的,那我还真觉得有追究一下“政治责任”的必要了!

不过也要劝布老虎一句,说话语气太冲不是好事,技术人员也要讲究沟通方法的。否则被毛也不懂的外行忽悠去了话语权,最后也是双输的局面。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河