facebook - 聚合个人资料提要,如 facebook

标签 facebook nosql redis

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

基本上您有很多配置文件,每个配置文件都有自己的 Feed。每次用户请求聚合时,系统只会获取所有这些配置文件,处理它们(并将它们分组),然后显示给用户。这种方法的问题是当某人有大约 1000 个 friend 时,系统必须获取 1000 个提要(无论是否有任何更新)然后处理它们。

你们会怎么做呢?

最佳答案

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

确保数据合理更新有点棘手。如果你是谷歌,你可以每隔几分钟检查一次整个互联网——这对大多数人来说不是一个选择。但是,通过结合智能更新计划和使用可用的实时 API,您可以相当接近实时。对于类似的东西,我正在研究的基本架构是一个数据存储,其中包含所有帖子和许多进程,这些进程可以从特定类型的提要中提取数据,并将帖子以通用格式添加到数据存储中。

关于facebook - 聚合个人资料提要,如 facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4184750/

相关文章:

mongodb - Apache Spark SQL 和 MongoDB 之间的区别?

database - 使用 opscenter 在 docker 上管理 cassandra 数据库

nosql - SimpleDB 作为主数据库,示例

amazon-web-services - AWS OpsWorks : use Redis instead of Memcached

mysql - 将简单的 MySQL 数据库转换为 NoSQL 解决方案

unit-testing - 当连接位于结构中时,我应该如何在 Go 中模拟 Redis 连接?

javascript - FB 发布文本作为页面的状态更新

android - Facebook SDK Android 不断加载

javascript - 变异观察者不开火

facebook open graph crawler 没有向我发送 db_locale