15

在他的 Google I/O 2009“App Engine 上的离线处理:前瞻”演示文稿(视频幻灯片)中,Brett Slatkin 介绍了任务队列服务。

他说

Pub-sub 系统最大化交易,解耦:

  • 每秒大量的小事务
  • 具有更改接收器的一对多扇出
  • 保证排序、过滤、两阶段提交

并特别强调

我们的新 API 实现了排队,而不是 pub-sub


我只对这些功能的一部分感兴趣:

  • 一对多扇出改变选定/固定的内部接收器处理程序
  • 保证订购, 过滤, 两阶段提交

目标是简化同一 Web 应用程序的不同模块之间的通知/消息的发布。示例使用场景案例将是:

  • 使支付模块知道收到账单。
  • 使用户能够跟踪他决定关注/加注的特定域对象的更改。

在任务队列服务之上实现这些的正确方法是什么?

4

2 回答 2

6

考虑使用Cloud Pub/Sub。它是内部 Pub/Sub 技术的外部化版本,已在 google 内部广泛使用了大约 7 年,并被证明具有可扩展性和稳健性。到今天为止,它仍然是测试版,但我们很快就会(几个月后)进入 GA。

于 2015-04-15T18:09:23.780 回答
1

Google 提供了一个在 AppEngine 上运行的 PubSubHubbub 示例实现。你可以看看他们是如何做到的,或者删除代码直到它满足你的需要。

于 2010-11-16T10:14:52.593 回答