2015-10-06 71 views
-1

我想在網站中實現基於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個用戶的通道?

回答

1

我建議你使用發佈/訂閱框架,並依靠該框架的實現進行擴展。你似乎正在解決之前已經解決了很多次的問題。搜索ActiveMQ發佈/訂閱,Kaazing JMS,Kaazing AMQP,Pusher,IBM MQTT/WS等。

+0

這並沒有提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 - [來自評論](/ review/low-quality-posts/11132290) –

+0

只是好奇Ronak。爲什麼它不回答這個問題?它解決了海報的問題,對嗎?伊戈爾正在走下一條需要耗費大量精力和不必要的時間的道路。使用pub/sub框架將解決他的問題,並允許他在應用程序上而不是管道上工作。 – FrankG

相關問題