我想在网站中实现基于websocket的推送通知。我已经在这里和谷歌上讨论过了,但我的问题有点不同。
我用例:
当用户B回复帖由用户A的注释,用户A将收到带有链接的文章/评论推送通知(这是一个类似SO)
我的研究:
在网络上,人们似乎同意(就可扩展性而言),限制websocket频道的总数会更好。这导致每个用户有1个频道(=每个频道只包含1个用户)。为什么?考虑一个用户可以参与10个或更多讨论的群聊,>这意味着每个用户有10个或更多的频道。
因此,每个用户1个频道是最好的解决方案(直到现在)。Websockets:所有用户的一个频道或每个用户的一个频道?
我打算用这束https://github.com/GeniusesOfSymfony/WebSocketBundle
在文档,有一个关于如何将消息发送给特定的用户https://github.com/GeniusesOfSymfony/WebSocketBundle/blob/master/Resources/docs/SessionSetup.md页面。通过此方法,您只能向所有订阅同一频道的用户之间的1位用户发送消息。您可以通过将用户的用户名传递给该函数来完成此操作。
这将开创一种新的可能性:创建只有1个大通道,并且所有登录的用户都订阅它INSTEAD创建N个通道,其中N是已认证用户的数量。
换句话说,哪个更好:1个拥有1000个用户的通道或1000个拥有1个用户的通道?
这并没有提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 - [来自评论](/ review/low-quality-posts/11132290) –
只是好奇Ronak。为什么它不回答这个问题?它解决了海报的问题,对吗?伊戈尔正在走下一条需要耗费大量精力和不必要的时间的道路。使用pub/sub框架将解决他的问题,并允许他在应用程序上而不是管道上工作。 – FrankG