西西河

主题:【讨论】回应对12306.cn网站的技术质疑 -- 忘情

共:💬187 🌺697 🌵3 新:
全看分页树展 · 主题 跟帖
家园 核心的瓶颈是数据处理过于集中

因为这个网站的业务的原因,所有的操作都是对那么很少量的数据的大量处理从而导致的问题。无论用云计算还是增加更多的服务器,如果不解决这个核心问题,都是白搭。解决数据处理过于集中,我能想到最简单的办法是两条措施,大家看看有没有什么启发:

1、分散数据。

把票务数据按照不同车次、不同时间,分散到不同的表、数据库或服务器中。比如,可以按照某种规则,一张表里只保存几个(比如,5个,具体数值就需要统计以往记录进行分析)车次的几天(比如,2天,那么,预售期10天,就会分散到5个表里。当然,具体几天,还是需要分析以往数据的)的车票数据。这样的话,在数据操作时,影响到的范围将大幅度减小,这将大幅度提高并发度。

2、二级数据管理

可以把数据分布在2个级别上管理,一个级别记录完整数据,在第二级上按某种机制记录部分数据,第二级可以由很多个服务器组成,也就是,1:n的情况。而Web服务器只访问二级数据库,并不访问一级数据库,二级数据库访问一级数据库。

比如,某次车的某天的数据,这个车次的所有票务情况完整保存在第一级数据库中,每个二级数据库需要从一级数据库申请自己可以分销的票的数量,二级数据库的票销售完毕之后,把销售结果同步到一级数据库,并再次申请自己分销的票的数量。这样的话,一级数据库的访问次数将大幅度减少,而同时也保证了数据的一致性,不会出现把票卖超了的情况。

全看分页树展 · 主题 跟帖


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

Copyright © cchere 西西河