6

我们希望实施“新闻Feed”,用户可以在其中看到朋友播放的消息 ,最先按最新消息排序。但的 Feed应反映她朋友列表中的更改。 (如果她添加了新的朋友,那么这些消息应该包含在Feed中,如果她删除朋友,则不应包含他们的消息。)如果我们使用 pubsub-test示例并将收件人列表附加到每个消息 这意味着当用户 连接和断开朋友时,消息收件人列表的很多操作都会列出。如何在Google App Engine上建模社交新闻Feed

我们首先使用传统的RDBMS 思考模拟发布 - 订阅“扇出”。它似乎起初工作,但后来,由于IN运营商 的工作方式,我们很快意识到我们不能继续 该路径。我们发现了Brett Slatkin's presentation from last years Google I/O,现在我们已经观看了几次,但我们不清楚 我们如何使用“动态”收件人列表来完成此操作。

我们需要的是在建模时如何“思考”一些提示。

回答

3

粘贴我在谷歌集团的谷歌应用程序引擎http://groups.google.com/group/google-appengine/browse_thread/thread/09a05c5f41163b4d#这个问题通过Ikai L(谷歌)

一对夫妇的想法在这里的答案:

  • 被删除的朋友一个共同的事件?同样,是否加入 朋友一个共同的事件? (所有的亲戚, 相对于“读”新闻饲料)

  • 从我记得是什么,只有这样,才能使重读取规模在人民 流 数据多次写。 Twitter做到了这一点,从我记得的 ,使用“最终 一致”模型。这就是为什么你的 饲料将不会更新几个 分钟,当他们在重的 负载。普遍的共识,虽然, 是关系,规范化的 模型根本不会工作。

  • Jaiku引擎是你的研究的开源: http://code.google.com/p/jaikuengine。 这适用于App Engine希望这些 在您考虑设计时有所帮助。