谷歌应用程序引擎 - 兔子mq替代品

时间:2013-10-07 23:58:39

标签: google-app-engine rabbitmq

我正在寻找将我们所拥有的消息系统转移到谷歌应用引擎环境,但我有一些问题,我希望有人可以帮助我。

我们当前的消息环境使用rabbit mq处理消息,然后使用大约10个连接到que的消费者来发送消息。这对我们很有用,因为有10个消费者实例来处理消息会大大提高交付率。

我知道app引擎不支持rabbit mq所以我想知道什么是实现相同结果的最佳选择。我看到你可以在后台运行任务很棒,但这只会作为一个实例,这会降低交付率。

还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

我之前从未使用过rabbitmq,但是您的要求看起来非常适合在app引擎上使用taskqueue和pipeline。

TaskQueue提供设置使用者和设置其处理速率的功能。 https://developers.google.com/appengine/docs/python/taskqueue/

  

使用Task Queue API,应用程序可以在用户请求之外的用户请求之外执行工作。如果应用程序需要执行一些后台工作,它可以使用任务队列API将该工作组织成称为任务的小型离散单元。该应用程序将任务添加到稍后要执行的任务队列。

piepline基于taskqueue,并提供更多控制流的功能。 https://code.google.com/p/appengine-pipeline/

  

Google App Engine Pipeline API将复杂,耗时的工作流程(包括人工任务)连接在一起。目标是灵活性,工作流重用和可测试性。 API的主要用例是将各种App Engine MapReduces连接到计算管道中。