如何在 Google App Engine 上为社交新闻提要建模
Posted
技术标签:
【中文标题】如何在 Google App Engine 上为社交新闻提要建模【英文标题】:How to model a social news feed on Google App Engine 【发布时间】:2010-03-15 13:40:24 【问题描述】:我们希望实现一个“新闻提要”,用户可以在其中看到消息 由她的朋友广播,以最新消息优先排序。但是 提要应反映她朋友列表中的变化。 (如果她添加新的 朋友,来自这些人的消息应该包含在提要中,如果 她删除了朋友,他们的消息不应该被包括在内。)如果我们使用 pubsub-test 示例并将收件人列表附加到每条消息 这意味着当用户对消息收件人列表进行大量操作时 连接和断开朋友。
我们首先使用传统的 RDBMS 对发布-订阅“扇出”建模 思维。起初它似乎工作,但后来,因为 IN 运营商 以它的方式工作,我们很快意识到我们无法继续 那条路。我们找到了Brett Slatkin's presentation from last years Google I/O,现在我们已经看了几遍,但不清楚 我们如何使用“动态”收件人列表来做到这一点。
我们需要一些关于在建模时如何“思考”的提示。
【问题讨论】:
【参考方案1】:将我在 Google App Engine 的 Google Group http://groups.google.com/group/google-appengine/browse_thread/thread/09a05c5f41163b4d# Ikai L (Google) 中得到的答案粘贴
这里有几个想法:
删除好友是常见事件吗?同样,正在添加 朋友一个共同的事件? (所有亲戚, 相对于新闻源的“阅读”)
据我所知,使大量读取扩展的唯一方法是写入 人们的数据多次 流。 Twitter这样做,从什么 我记得,使用“最终 一致的“模型。这就是为什么你的 饲料不会更新几个 当他们很重的时候 加载。然而,普遍的共识是, 是一个关系的,规范化的 模型根本行不通。
Jaiku 引擎是开源的,供您学习: http://code.google.com/p/jaikuengine。 这在 App Engine 上运行 希望这些 在您考虑设计时提供帮助。
【讨论】:
以上是关于如何在 Google App Engine 上为社交新闻提要建模的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google App Engine(灵活环境)上为应用创建开发服务器?
在 Google App Engine 上为用 Python 编写的 Qualtrics 创建 Web 服务
我如何在 google app 引擎上为 html5 创建 websocket
如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?