moh*_*hur 3 notifications redis node.js socket.io laravel
我是一个没有经验的开发人员,我刚刚开始学习node.js socket.io。
如果每个用户的墙上有帖子或者有人回复(评论)了用户的帖子,我想向每个用户发出通知,就像在 fac*book/go*gle+ 通知中一样。
我按照这里的教程http://www.codesizzle.com/node-js-and-socket-io/
我将它与 laravel4 和 redis 结合起来,作为将消息/notif 发布到 redis 的处理程序,然后 nodejs 将监听 redis,如果有 post/event,则使用套接字 io 将其发送到用户的浏览器
根据我的理解,示例:
为了达成这个:
我的问题是在我的声明中“userB 订阅了自己的频道,可能使用他的 ID。” 这意味着 userB 可能会订阅频道notif-channel-{userId}
-> notif-channel-967
,如果我有数千个用户,那么我将有数千个不同的频道,也许从notif-channel-1
到notif-channel-50000
,
会成为问题吗?
最佳做法是什么?
流程是否已经正确?
谢谢
注意:抱歉英语不好。
更新
阅读了更多文章后,我想我将流程更改为:
请注意,我在上述流程中没有涉及 Redis,有什么反馈吗?
使用套接字来执行此操作是一种非常复杂的方法。这是可能的,但您真正需要做的就是从该页面(客户端)添加定时发布请求以检查新评论。
此时您真正需要的一切都在数据库中。从、到、日期、消息。
使用套接字,您必须为每个具有“墙”的用户设置一个频道,并且任何正在查看人员“墙”的人都必须订阅它,如果有很多人,您就会遇到问题当你需要扩展的时候。这意味着将 redis 与 sockets.io 结合使用。
虽然这样做很“酷”,但在我看来有点过分了。
归档时间: |
|
查看次数: |
3426 次 |
最近记录: |