但是我无法确定实现这一目标的最具可扩展性/面向未来的方法(没有连接).
我正在使用flask / heroku / sqlalchemy / postgres.我正在考虑使用Open-redis插件并执行类似Instagram的提示:每个用户都有一个redis列表,每当“跟随”帖子时,它会将帖子添加到每个关注者列表的开头并修剪其总大小.
我对redis知之甚少,不知道为每个用户流依赖soley是否安全.使用open-redis时,他们没有提到任何关于持久性的内容,所以我不知道这些日子是否仅仅是一个普遍的事情,它只是假设.
如果redis不是100%可靠/安全,那么对于我如何使用postgres / Hstore进行此操作的任何想法(请不要加入).
解决方法
https://github.com/tschellenbach/Feedly
它是目前最大的开源库,旨在解决这个问题.
您可以将Redis和Cassandra用作存储后端.
我们在Redis上跑了一年多没有任何麻烦.如果设置正确,它运行非常稳定,不太可能丢失数据.
构建Feedly的同一团队还提供托管API,可以为您处理复杂性.看看getstream.io有Python,PHP,Node和Ruby的客户端库.
另外看看这个高可伸缩性的帖子我们解释了一些涉及的设计决策:
http://highscalability.com/blog/2013/10/28/design-decisions-for-scaling-your-high-traffic-feeds.html
This tutorial将帮助您使用Redis设置像Pinterest的Feed这样的系统.开始使用非常简单.
要了解有关Feed设计的更多信息,我强烈建议您阅读我们基于Feedly的一些文章:
> Yahoo Research Paper
> Twitter 2013 Redis based,有后备
> Cassandra at Instagram
> Etsy feed scaling
> Facebook history
> Django project,具有良好的命名约定. (但仅限数据库)
> http://activitystrea.ms/specs/atom/1.0/(演员,动词,物体,目标)
> Quora post on best practises
> Quora scaling a social network feed
> Redis ruby example
> FriendFeed approach
> Thoonk setup
> Twitter’s Approach