我正在尝试使用Flask和MySQL在Google app Engine标准环境中设置web应用程序。
我知道Google App Engine能够基于所需的性能动态扩展它的实例,但我不确定如何为我的MySQL服务器做到这一点。
对于MySQL连接,我尝试连接到Google Cloud SQL。我知道单个实例是如何工作的,但我想知道是否可以连接多个实例,从而允许在使用相同数据的同时动态扩展我的存储空间。
到目前为止,我已经找到了如何通过此link在Google Computing Engine实例和Google Cloud SQL上执行此操作的信息,但无法了解如何在Google App Engine标准环境中执行此操作。
发布于 2019-06-27 11:19:19
每个GAE服务实例都将使用相同的凭据作为单独的客户端连接到Google Cloud SQL。在这方面没有什么可担心的,除了如果您有许多GAE实例,或者限制GAE实例的数量以保持良好的性能,则可能需要扩展/调整Google Cloud SQL实例的成本。来自Best practices (整个页面可能是一个有用的读物):
发布于 2019-06-27 23:30:23
正如@dan-cornilescu正确提到的那样,Google App Engine会自动水平扩展,并处理到您的Cloud SQL实例的连接,而您不必关心。
但看看你最后一次对他的回答的评论:
谢谢,我知道Google App Engine可以动态扩展,并让创建的实例连接到一个Google Cloud SQL实例,但我正在寻找一个解决方案,以解决此Cloud SQL实例上的有限空间和性能。有没有办法将Google App Engine连接到多个实例,从而增加Google Cloud SQL上的数据库空间?
我将继续为您提供一些选项,以解决您的Cloud SQL实例的空间和性能有限的问题。对于有限的空间,在创建您的Cloud SQL实例时,可以勾选“Configure machine type and storage” dropdown下的[启用自动增加存储空间]选项。
关于拥有多个实例,请记住,Cloud SQL实例是垂直扩展的,而不是水平扩展的,因此,如果您正在寻求的是水平可伸缩性,那么我建议您的第一个选择是切换到谷歌Cloud Spanner。目前,是Google Cloud产品中唯一允许这样做的数据库,并且是可以选择的。
您还可以通过创建多个Cloud SQL实例来“伪装”水平可伸缩性,这实际上是一个best practice。在这样做的时候,您只需考虑到instances allowed per project的数量是40,如果您希望获得更多,则必须请求增加。
https://stackoverflow.com/questions/56782031
复制相似问题