微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 仅使用redis实现活动流有多安全?

我正在建立一个允许用户“关注”不同成员的网站,每当该成员发布时,它都会按照相反的时间顺序将其添加到所有关注者活动流中.这些天很常见的东西.

但是我无法确定实现这一目标的最具可扩展性/面向未来的方法(没有连接).

我正在使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐