2010-11-15 63 views
1

只是想知道你们如何使用nosql(如redis)来做一个像聚合器一样的简单facebook。聚合像Facebook的简介饲料

基本上你有很多配置文件,每个配置文件都有自己的提要。每当用户请求聚合时,系统就会获取所有这些配置文件,处理它们(并对它们进行分组),然后显示给用户。这种方法存在的问题是,当有人拥有1000个朋友时,系统将不得不提取1000个提要(无论是否有更新),然后处理它们。

你们会怎么做?

回答

0

显然,如果您无法实时更新更新,则需要在用户要求更新之前完成更新 - 基本上,您有一个所有已知提要的列表并定期检查更新,可能基于每个Feed的更新频率。当用户请求聚合时,您只需要返回已有的数据。

确保数据合理更新有点棘手。如果你是谷歌,你可以每隔几分钟检查整个互联网 - 对大多数人来说不是一种选择。但是,通过智能更新调度和使用实时apis的组合,您可以获得相当接近实时的时间。对于类似的工作,我在基础架构上工作的是一个数据存储,它包含所有帖子和一些可以从特定类型的提要中提取数据并将这些帖子以通用格式添加到数据存储的进程。