在Google云基础架构上扩展数据库/磁盘存储的最佳做法是什么?

时间:2014-11-08 23:10:08

标签: django database postgresql google-app-engine google-compute-engine

我们正在将我们的应用程序迁移到Google Cloud后,从Google的启动程序中获得足够的信用额度,以便为我们提供一年的免费云。

我们的Web应用程序在后端相当轻松,因为它在很大程度上只是作为REST API运行。它是使用Django和PostgreSQL构建的。

我们最初的计划是使用 Google App Engine ,但这需要我们基本上通过迁移到NoSQL来重新设计我们的数据库和后端,这很可能是一次非常严峻的考验由于我们的数据结构非常依赖于连接,像http://www.allbuttonspressed.com/projects/djangoappengine这样的项目似乎有相当严格的限制,并且使事情变得更复杂,我们已经开始使用一些需要shell访问的工具。 / p>

我们当时希望能够使用计算引擎(GCE),但现在看来,为了扩展我们的数据库,我们必须自己实现和维护一个单独的分片集群。 是否有更简单的方法为我们的数据库结构添加一些冗余和负载平衡?

我们目前最好的选择似乎是将GCE用于实际应用,然后迁移到使用 Google Cloud SQL 。问题在于它只支持MySQL,我们更喜欢使用Postgres,因为它具有出色的NoSQL支持,我们计划将其用于一些即将推出的功能。

Google确实拥有大量关于实用性的优秀文档,但在云平台上的架构指南和最佳实践方面却很少。 您对我们的情况有何看法?那里会有什么样的最佳实践?

1 个答案:

答案 0 :(得分:2)

通过将AppEngine与托管虚拟机结合使用,您可以尝试充分利用IaaS和PaaS。然后,AppEngine将启动计算引擎上的VM实例,这些实例不受普通GAE实例必须遵守的限制。 托管VM将允许您连接到现有的Postgress数据库,而无需任何代码修改。

https://cloud.google.com/appengine/docs/managed-vms/