Google cloud platform 协调主机和工作机

Google cloud platform 协调主机和工作机,google-cloud-platform,cloud,google-compute-engine,Google Cloud Platform,Cloud,Google Compute Engine,如果这个问题对更多的IT人士来说是基本的,那么我提前道歉。我不确定它是否属于ServerFault域,但如果我错了,请更正我 这个问题涉及托管在云环境(Google)中的web应用程序的一些后端操作。我正在尝试评估协调各种虚拟机的选项。我将描述我们目前拥有的,那些“知情者”可能会提出更好的方法(我希望!) 在我们的应用程序中,可以运行许多不同的分析,每个分析都有不同的硬件需求。它们通常非常大,我们不希望它们在应用服务器上运行(下面称为app_server) 为此,当我们启动其中一个分析时,app

如果这个问题对更多的IT人士来说是基本的,那么我提前道歉。我不确定它是否属于ServerFault域,但如果我错了,请更正我

这个问题涉及托管在云环境(Google)中的web应用程序的一些后端操作。我正在尝试评估协调各种虚拟机的选项。我将描述我们目前拥有的,那些“知情者”可能会提出更好的方法(我希望!)

在我们的应用程序中,可以运行许多不同的分析,每个分析都有不同的硬件需求。它们通常非常大,我们不希望它们在应用服务器上运行(下面称为
app_server

为此,当我们启动其中一个分析时,
app_server
将启动一个新的虚拟机(称之为
VM1
)。对于其中一些分析,我们只需要
VM1
;它执行分析并将HTTP POST请求发送回
app_server
,让它知道工作已经完成

对于其他分析,
VM1
将依次启动许多工作机器(
worker-1
,…,
worker-N
),它们并行运行非常相似的任务。一个工人的任务(例如,
worker-K
)完成后,它应该与
VM1
通信:“嘿,这是worker-K,我完成了!”。完成所有工作程序(
worker-1
,…,
worker-N
)后,
VM1
执行一些合并操作,最后返回到
app\u服务器

我的问题是: 除了在
VM1
上启动一个web服务器来侦听来自工作人员的POST请求(
worker-1
,…),让这些工作人员与
VM1
通信的潜在机制是什么?是否有非Web服务器的方法来侦听HTTP POST请求并对请求进行处理


我应该注意到,我的所有虚拟机都在GCE上的同一区域/区域内运行,因此它们能够通过内部IP进行通信,而无需任何特殊的防火墙规则等(例如,运行
$ping听起来像是云发布/订阅的正确用例

在您的情况下,工作人员将向队列发布事件,VM1将订阅这些事件


很难从您的高级概述中判断它是否匹配,但也可以看看Cloud Composer

Cloud Pub/Sub看起来非常有前途(并且可能对其他一些任务有用)。谢谢!