Websocket 如何有效地向应用程序中的选定用户发送推送通知?

Websocket 如何有效地向应用程序中的选定用户发送推送通知?,websocket,push-notification,Websocket,Push Notification,我正在尝试使用nodejs和websockets实现推送通知服务器。我试图实现的服务器需要能够发送特定于应用程序中每个用户的通知(例如:某人对你的帖子发表了评论等等)。该服务器还可以为许多应用提供服务。因此,使用该服务的用户数量非常高 问题是我如何管理频道。我在互联网上做了一些研究,并没有找到一个解决这个问题的可靠方法。 这有点类似。但没有确切的答案 我想到的一种实现方法是,每个用户有一个通道,那么它可能无法很好地扩展到为多个用户服务 我认为的另一种方法是将相同的消息组织成组,然后为组创建频道。

我正在尝试使用nodejs和websockets实现推送通知服务器。我试图实现的服务器需要能够发送特定于应用程序中每个用户的通知(例如:某人对你的帖子发表了评论等等)。该服务器还可以为许多应用提供服务。因此,使用该服务的用户数量非常高

问题是我如何管理频道。我在互联网上做了一些研究,并没有找到一个解决这个问题的可靠方法。 这有点类似。但没有确切的答案

我想到的一种实现方法是,每个用户有一个通道,那么它可能无法很好地扩展到为多个用户服务

我认为的另一种方法是将相同的消息组织成组,然后为组创建频道。这样一来,登录用户就需要订阅多个频道,而且可能有许多组只包含一个用户。另一方面,分组过程也会影响效率

我的问题是什么是处理这个问题的有效方法。你能给我一些见解吗?非常感谢您的帮助。谢谢

我想到的一种实现方法是,每个用户有一个通道,那么它可能无法很好地扩展到为多个用户服务

这取决于渠道(主题、主题)的实施方式。如果每个通道订阅都会产生一个新的持久连接,那么这将无法很好地扩展。但是,如果通道是以协议级别表示的,那么每个客户机都有一个连接将使您受益匪浅,而且该技术将处理通道上的消息路由,仅将消息路由到适当的客户机

我的问题是什么是处理这个问题的有效方法。你能给我一些见解吗?非常感谢您的帮助。谢谢

因此,如果您使用的解决方案是通过单个连接实现的,那么扩展问题就不会那么严重(或者不会很快成为问题),您可以让每个用户订阅他们自己的通知通道。这是解决这个问题的最佳方法,也是常见的做法

因为您正在查看Node.js,所以可以查看Faye-请参阅。您还可以查看托管服务,例如Pusher(我为他工作)-请参阅:

网络安全 下一个需要考虑的问题是安全性:如何阻止任何客户端订阅频道。Faye文档提供了一个解决方案,包括问题的解决方案

Pusher使用and,这也为该问题提供了一个可靠的解决方案