只是想知道你们如何使用 nosql(如 redis)做一个像简单的 facebook 那样的 feed 聚合器。
基本上您有很多配置文件,每个配置文件都有自己的 Feed。每次用户请求聚合时,系统只会获取所有这些配置文件,处理它们(并将它们分组),然后显示给用户。这种方法的问题是当某人有大约 1000 个 friend 时,系统必须获取 1000 个提要(无论是否有任何更新)然后处理它们。
你们会怎么做呢?
最佳答案
显然,如果您不能实时更新,您需要在用户要求之前完成更新 - 基本上您有一个所有已知提要的列表,并定期检查更新,可能基于关于每个提要的更新频率。当用户请求聚合时,您只需要返回已有的数据即可。
确保数据合理更新有点棘手。如果你是谷歌,你可以每隔几分钟检查一次整个互联网——这对大多数人来说不是一个选择。但是,通过结合智能更新计划和使用可用的实时 API,您可以相当接近实时。对于类似的东西,我正在研究的基本架构是一个数据存储,其中包含所有帖子和许多进程,这些进程可以从特定类型的提要中提取数据,并将帖子以通用格式添加到数据存储中。
关于facebook - 聚合个人资料提要,如 facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4184750/