【问题标题】:Migrating off AppEngine从 AppEngine 迁移
【发布时间】:2011-01-14 00:23:05
【问题描述】:

我有一个在 AppEngine 上运行的应用程序,它每天使用大约 50 个 CPU 小时。大部分时间都花在等待数据存储上。

我正在考虑将它从 AppEngine 移到 Rackspace 云服务器之类的东西上,因为我认为如果我可以将一些工作卸载到数据库中,我的应用程序会更高效(此外,我还可以添加更多难以实现的功能)在 AppEngine 上实现)。

那么,我将如何移动 AppEngine 应用程序?它是使用 webapp 框架开发的,除了数据存储区之外不使用许多 Google API。理想情况下,我将能够保留 webapp 代码并将 db 类换成可以与另一个数据库通信的东西(MySQL 或 PostgreSQL 可能比 CouchDB 或 MongoDB 更可取,但这些也可以工作)。

更新:响应下面的 cmets... 我之前运行过很多 Web 应用程序。我以前没有运行过生产 python 应用程序。我假设设置 python / webserver 方面相当简单。我希望使用 Rackspace 云服务器之类的东西是 1 个“服务器”,随着我们的成长,我也可以添加资源。我们目前每天的点击量约为 20 万次。

至于 AppEngine 优化,我们尽可能地使用内存缓存(不是很多地方)。我们也在使用任务,虽然这有助于避免请求超时,但它会增加使用的资源。

我的主要问题是数据层的一个很好的 python 替代方案,它可能需要最少的代码更改。虽然我也知道可能有一些我不想问的相关问题。

【问题讨论】:

  • 只是出于好奇,您在等待数据存储写入或读取吗?你在使用内存缓存和任务队列吗?
  • 另外,目前还不清楚您在寻找什么样的答案。您之前是否运行过全栈 Web 应用程序?你每天有多少点击量?您需要多个 Web 服务器吗?您是在寻找框架建议,还是要逐步了解如何托管 Web 应用程序?

标签: python google-app-engine web-applications


【解决方案1】:

如果您可以重新部署到 appscale,则无需重写任何 App Engine 代码。

【讨论】:

  • 我想这是要走的路。我的印象是 webapp 框架存在于 AppEngine 之外,但看起来它只是松散地基于 web.py。虽然 appscale 对我来说似乎有点像 hack,但它确实提供了一种迁移路径,允许缓慢或按需重写。谢谢。
  • @Jackson,考虑到代码的开源许可和灵活的“存根和挂钩”架构,您可以重用 SDK 中的代码来启动(我相信,这就是 appscale 人员所做的) - - 但是为什么不利用他们已经完成的工作呢?特别是在数据层,他们有多个适用于各种存储系统的适配器。不确定您对此有何看法(尽管我猜 SO cmets 不是讨论此问题的最佳论坛;-)。 ((免责声明:我与 appscale 无关,但我确实在 Google 工作,并且在 appengine 团队中有很多朋友;-))。
【解决方案2】:

您可以使用TyphoonAE,它基于 SDK,专为中小型部署而设计 - 例如,单个服务器到小型集群 - 并且应该相当容易设置。

很遗憾看到你走了。

【讨论】:

  • 好吧,现在我至少要看看新的 1.3.1 版本是如何改变的 :)
猜你喜欢
  • 1970-01-01
  • 2020-12-28
  • 2011-02-19
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
相关资源
最近更新 更多