【问题标题】:Google App Engine vs Google Container Engine vs Google ComputeGoogle App Engine vs Google Container Engine vs Google Compute
【发布时间】:2018-02-14 16:43:30
【问题描述】:

我有以下常见情况,我不确定哪个谷歌云工具最适合。我是谷歌云的新手。

我有一个进程(收集器),它每 N 分钟从生产者那里收集数据并将其整合到数据库中。数据已发布,但在某种意义上说是暂时的,如果收集器在几个周期内没有收集它,它就会丢失。收集器是一个 24/7 全天候运行的后台进程,并具有用于诊断的终端日志记录接口。目前,收集器作为 python 脚本在服务器/PC 上运行,但我想将其移动到云端。但是,我不确定是否需要将此脚本部署为 Google App Engine 上的 google 应用程序或 Container Engine 上的 docker 容器,或者只是在 Compute Engine 节点上运行它。

编辑:

我已完成研究,并将脚本部署在 Google App Engine 上。但是,我的理解是 App Engine 可能会运行应用程序的多个实例以根据使用情况进行扩展,而且它确实做到了。但是,如果我碰巧在我的笔记本电脑上启动了几个脚本实例,我不会在数据库中得到重复的条目。

【问题讨论】:

    标签: google-app-engine google-compute-engine google-kubernetes-engine


    【解决方案1】:

    给这只猫打铃的方法有很多。

    使用 kubenaties 显然很容易,但是您不必为此使用容器引擎(可能过于昂贵)。

    如果您有一个计算实例,其中包含侦听 pub-sub 的脚本,您可以通过创建 instance template 来水平扩展它 并选择根据处理器使用情况自动扩展。

    无论您选择哪种方式,记录的重复性更多地与发布者相关,而不是订阅者(您的 python 脚本)

    我永远不会使用 appengine 来完成这样的任务,即使您可以在 GAE 中轻松完成,但应该尝试仅在前端角色中使用它,恕我直言

    【讨论】:

    • 谢谢。我在家里的机器上的 Docker 容器中运行脚本。我正在编写更多脚本,最终将有一组脚本收集各种片段并将它们存储在数据库中。我知道 GAE 不适合这个,所以我会把它移到 Compute Engine 上。我关心的是我需要的自动扩展以及新版本的部署(将打包为容器)的简易性。
    • 好吧,你将不得不做更多的事情来在 docker 中自动扩展,但在 Google 计算实例中,你可以设置负载/进程计数等的扩展条件,你也不需要担心扩展底层系统当您真正基于负载在云上创建 linux 机器时
    • 我刚刚创建了一个虚拟机实例。它不附带 git/docker,所以我会安装这些,但我觉得我做错了,因为我已经有一个在我的笔记本电脑和 GAE 上运行的容器。我觉得我应该使用 PaaS(谷歌容器引擎)而不是 IaaS(谷歌计算引擎)。我觉得我正在有效地建立一个私有的谷歌容器引擎,我不会比谷歌做得更好。
    【解决方案2】:

    面向 GAE 的答案。

    理论上,缺少重复的数据库条目可能是由于:

    • 一个经过深思熟虑的实现,专为防止此类重复而设计,无论有多少 GAE 实例正在运行 :)
    • 意外 - 只是因为您到目前为止没有看到它们,并不意味着它们不会在未来出现。

    您可以通过使用基本扩展并将max_instances 配置设置为1 来防止多个GAE 实例并行执行。来自Scaling types and instance classes

    基本缩放

    具有基本扩展的服务将创建一个实例,当 应用程序收到请求。实例将在以下情况下被拒绝 应用程序变得空闲。基本缩放是理想的工作 间歇性或受用户活动驱动。

    以及表格中的Scaling行:

    缩放

    通过设置最大值来配置具有基本缩放的服务 ma​​x_instances 参数中的实例数 basic_scaling 设置。活动实例的数量随 处理量。

    另见Scaling elements

    【讨论】:

      猜你喜欢
      • 2017-04-07
      • 2018-04-28
      • 1970-01-01
      • 2015-11-05
      • 2017-03-02
      • 1970-01-01
      • 2016-08-23
      • 2013-11-09
      • 1970-01-01
      相关资源
      最近更新 更多