西西河

主题:【原创】无责任推测12306网站遇到的麻烦 -- 代码ABC

共:💬135 🌺246
全看分页树展 · 主题 跟帖
家园 Scale up是不行滴

还得scale out。Sharding/Partitioning就行了。

主服务器只做路由,就象ZooKeeper那样。集群里的每台服务器按车次来排。每天全国运行图假设有1000个车次,那么每10个车次(大概有几万张票吧)存在一台服务器里。主服务器按路由表(甚至可以人工做出来这个路由表)把请求路由到各个服务器上。每个服务器做各自的transaction(比如信用卡交易等等)。如果定满了,通知主路由更新信息。

每个车次订票请求先查主路由,看看是否已经定满,如果还有票,就让客户直接和分服务器联系(http redirect)。10个车次能有多少请求?每秒2000个请求左右吧。MySQL就够了。

这样看来大概100 到200台服务器就差不多了(加上failover之类的情况),MySQL免费。那么大概硬件200万美元左右吧。

全看分页树展 · 主题 跟帖


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

Copyright © cchere 西西河