距离上次改版,将网站运行平台迁移到Google Application Engine后才短短六个月,ANSiLIB.COM网站又不得不再次考虑迁移了。

Google两个月前宣布了ApplicationEngine即将毕业的消息,作为庆祝,Google公司大幅度提高了GAE平台的费用,同时也大幅度削减了免费空间的可用额度。按照GAE的新资费政策,以前可以免费支撑每月500万点击量的网站,将不得不将网站的运行预算提升数十甚至一百多倍,以ANSiLIB.COM网站为例,以前因为数据库使用的容量超过了免费500M的额度,而每日0.01美元的预算,可以增加1G的数据库空间,其他指标如每日流量、CPU时间等等,都足以支撑这个网站每天的访问量,虽然设定了每天1美元的预算,实际扣费都是1美分而已。这样每个月只需支出0.30美元就可以用养活这个网站了。而11月中旬开始执行新资费标准以后,这个小小的网站每日的花费就大幅度地增加到了0.6至2.8美元,实际升幅达到60至280倍,简直是无法忍受,尽快迁移是必须的了。

正好我还有一个VPS租来没有使用,加上最近又学习了一下Tornado框架,于是开始练手。由于是从GAE的Datastore架构迁移数据,数据库顺势就选择了热门的NoSQL数据库——CouchDB,加上Memcached,性能基本上有保障了。Tornado框架很多地方使用比较接近GAE API,这样迁移的进度就比较迅速,大约3天的时间,基本上所有的控制器、视图都修改完成上线运行了。

网站的部署前台使用了Nginx,用于缓存静态文件和转发请求到后端的Tornado应用,Tornado应用通过Daemontools启动,具体配置过程参见前面的文章,整个网站就顺畅地跑起来了。

最后,通过Cloudflare.COM的CDN服务,又进一步加速了网站的访问速度,提高了稳定性。

最后总结下这次迁移使用到的一些软件: