迁移离开AppEngine
我有一个在AppEngine上运行的应用,每天大约使用50个CPU小时。大部分时间都是在等待数据库的响应。
我在考虑把它迁移到像Rackspace Cloud Servers这样的地方,因为我觉得如果能把一些工作转移到数据库上,我的应用会更高效(而且我还可以添加一些在AppEngine上实现起来比较困难的功能)。
那么,我该如何迁移一个AppEngine的应用呢?这个应用是用webapp框架开发的,除了数据库外,没用太多Google的API。理想情况下,我希望能保留webapp的代码,只需要把数据库相关的部分换成能连接其他数据库的代码(MySQL或PostgreSQL可能更合适,虽然像CouchDB或MongoDB也可以)。
更新:针对下面的评论……我之前运行过很多网页应用,但没有运行过生产环境的Python应用。我认为设置Python和网页服务器应该比较简单。我选择Rackspace Cloud服务器的希望是,它能作为一个“服务器”,随着我们的发展可以随时添加资源。我们现在每天大约有20万次访问。
至于AppEngine的优化,我们在能用的地方使用了memcache(但不多)。我们也在使用任务处理,虽然这能帮助解决请求超时的问题,但也增加了资源的使用。
我主要想知道有没有好的Python替代方案用于数据层,能让代码改动最少。虽然我也知道可能还有一些相关的问题我没有想到。