12306这样的超大规模实时事务系统到底应该怎么设计?
%
听说阿里要帮助12306重新设计订票系统,不过12306这个系统就真有这么难吗?是那些写软件的没有好好思考这个问题吧?
显然,12306这个系统不同于一般的关系数据库,做系统架构设计必须考虑实际的应用业务流程和数据本身的性质才行。
这么说吧,我不觉得这个问题有多困难,为了设计好这个系统,下面的几条是需要考虑的:
1、假设系统必须允许1亿人同时抢票,其实就算10亿人也没什么关系,我就不信系统不能水平扩展。那也就意味着,假如是一台超级单核CPU机器的话,每个事务平均就必须在1/100000000秒内完成,1/10000毫秒。而普通中等CPU机器假设能在10毫秒内完成的话,则这个性能容量需要通过水平扩展和垂直扩展扩大10万倍。
%
听说阿里要帮助12306重新设计订票系统,不过12306这个系统就真有这么难吗?是那些写软件的没有好好思考这个问题吧?
显然,12306这个系统不同于一般的关系数据库,做系统架构设计必须考虑实际的应用业务流程和数据本身的性质才行。
这么说吧,我不觉得这个问题有多困难,为了设计好这个系统,下面的几条是需要考虑的:
1、假设系统必须允许1亿人同时抢票,其实就算10亿人也没什么关系,我就不信系统不能水平扩展。那也就意味着,假如是一台超级单核CPU机器的话,每个事务平均就必须在1/100000000秒内完成,1/10000毫秒。而普通中等CPU机器假设能在10毫秒内完成的话,则这个性能容量需要通过水平扩展和垂直扩展扩大10万倍。
2、有了前面的理论上限分析,剩下来的事情就好办了:我们如何做到这一点?
2.1 先垂直扩展,使得服务器主机的性能提高10倍,这应该是可以做到的;