【问题标题】:Multiple independently-scaling programs within one Google Cloud Project一个 Google Cloud 项目中的多个独立扩展程序
【发布时间】:2021-10-25 06:43:34
【问题描述】:

我是云编程的新手,但据我了解,我正在构建的服务器可以作为多个“实例”在多个区域运行,以改善用户体验。换句话说,我的服务器代码只是同时在几台不同的机器上运行,彼此独立。但是,无论有多少服务器实例,例如数据库服务器之类的东西都只能作为单个实例运行。

有没有办法使用 Google App Engine 做到这一点?更具体地说,有没有办法将项目的一部分归类为可扩展的,而将其他部分归类为不可扩展的?我最初的计划只是制作两个不同的项目——一个自动扩展,一个不扩展——并让它们通过网络请求进行通信。这可能(可能?)具有将我的项目使用的资源分散到多个云项目的额外好处,从而减少每个项目的计费使用量。

我很想知道我是否走在正确的轨道上,或者我正在做的事情是否过于复杂。

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    是的,这是可能的,您需要创建 2 个单独的 App Engine 服务,并将一个设置为自动扩展,另一个设置为手动扩展,并设置您希望该服务始终运行和运行的实例数量。您可以阅读this documentation 了解有关缩放类型的更多详细信息,并阅读this documentation 了解如何在您的app.yaml 文件中进行设置。

    话虽如此,我认为这不会降低您的成本。实际上可能会发生相反的情况,因为 App Engine 旨在通过自动缩放尽可能减少资源浪费,如果您使用手动缩放的实例负载比您实际需要的负载更大,您将为此支付更多费用,所以你需要在你的基础设施设计中考虑到这一点,我还建议你看看App Engine pricing documentation

    【讨论】:

    • 你好@KevinMontambault。这能回答你的问题吗?
    • 感谢您的回复。我应该用不同的措辞来表达我的问题,但我已经阅读了链接的文档,并且更关心我是否应该应该继续这种模式,或者我是否缺少一个简单的解决方案。创建 2 个项目对我来说似乎是一个 hack,但也许这就是它的完成方式。
    • 嗯,您的担心主要与计费有关,对吧?如果是这种情况,创建单独的项目不会有太大作用,因为 GCP 的计费不是基于项目,而是基于计费帐户,this documentation 可能会对此有所帮助,如果您想降低成本,您可以使用不同的quotas您的项目以限制您在每个单独项目中的支出,但是,免费套餐(我假设您正在使用)适用于您的结算帐户,或者换句话说,您的所有项目组合。
    • 这肯定回答了关于计费的问题。但主要问题是围绕着人们应该如何管理不能复制的流程(有状态部分)和应该复制的流程(无状态部分)。
    • 我想我明白了你的意思,但为了澄清,你正在考虑这种方法,因为你在应用引擎中需要 2 个单独的服务,并且你正在尝试检查是否应该为它们创建 2 个单独的项目,正确的?如果是,那么答案是:不一定,您可以在应用引擎中部署多个独立的服务,它们都有自己的扩展策略,您可以查看this community answer了解更多详情。如果这回答了您的后续问题,请告诉我,以便我可以将其添加到我的答案中。
    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 2012-05-26
    • 2014-12-25
    • 2012-10-31
    相关资源
    最近更新 更多