1

我们想在 Google Cloud 上构建一个主从模式。我们计划为此使用 Pub/Sub(类似于JMS模式)让每个工作人员从队列中获取任务并在完成后确认。

但是,订阅者似乎无法在开始之前收到发送的消息。而且我们不确定如何确保每条消息都由单个“从属”处理。

有没有办法做到这一点?或者谷歌云上的另一种机制?

4

2 回答 2

0

据我了解主从模式,从属并行执行任务,而主收获结果。我将创建一个用于排队任务的主题,以及附加到该主题的单个订阅,以便所有从属服务器都使用此订阅来获取任务。

此外,我会创建另一个主题/子对,用于从奴隶发布结果,而主人会收获结果。或者,可以将结果存储到 Cloud Datastore 等共享数据存储中。

于 2015-05-01T05:39:54.090 回答
0

您可以通过创建所有奴隶都使用的“单一”订阅来做到这一点。pubsub 服务只向给定订阅传递一次新消息,因此您可以确保给定消息将仅由 1 个从属设备处理。

您还可以适当调整确认截止日期,以免发生重试。如果重试发生,它将导致多个从站收到相同的消息。

于 2015-09-22T19:58:24.810 回答