在Rails中构建像Facebook这样的Feed通知系统的最佳方式?

时间:2016-06-19 20:55:29

标签: ruby-on-rails ruby redis getstream-io public-activity

我是一名新的初级开发人员,加入了这个令人敬畏的社区。我正在开发我的第一个大型个人项目,我坚持使用这个特定的部分。

我想建立像Facebook这样的Feed通知系统,具有以下功能:

  • 跟踪不同的模型和关系,例如:获得的新徽章,订阅模型中的新评论,被关注用户的新帖子,我帖子的新评论,我帖子中的新评论...... < / LI> 例如,
  • 对活动进行分组,而不是在我的帖子中为每个喜欢提供400个活动,只有一个通知显示“用户X和399个更喜欢你的帖子”
  • 可以将通知标记为已提醒,以便再次看不到它们,至少您可以浏览过去的通知。
  • 可扩展性,良好性能以及未来可能在 APP 中进行整合,例如使用Iconic框架开发。

推送通知是可选的,如果用户需要刷新页面以查看新通知,则可以。

所以为此,我已经做了很多。我看了一些Railcast视频,跟着教程,但我仍然不确定如何开始。

我考虑过以下方法:

  • 使用public_activity gem,在迁移中添加一个新的“readed”字段。并思考如何管理分组活动。但我看到很多关于性能的抱怨。我希望在第一个月内我的网站中有大约50000个用户(我已经拥有用户),在线用户数达到500-1000。也许这不是最好的方式...因为我会有很多活动,很多“通知”和很多用户。
  • 使用类似https://getstream.io/的系统,因为它们还具有可用于RoR和Ruby的集成。这里主要关注的是定价,因为检查它,如果我没有错,用户数量很大,每个用户每天大约有10个通知,我支付的费用可能超过200美元,而且总是保持增长用户增长。
  • 构建我自己的系统,也许使用Redis。但是,这可能过于复杂,需要大量时间才能获得良好,高效且有效的代码。

所以,考虑到这些选项,我不知道哪一个最适合我,或者它是否是另一种可能性。

如果有人在这些问题之前提出过问题,请告诉我您的想法以及您认为正确的方法。

谢谢!! :)

0 个答案:

没有答案