7

我正在创建一个 Web 应用程序/站点,我的服务器将在其中向客户端推送实时更新一些信息(使用 Pusher api)。

因此,订阅频道的用户可以在服务器向该频道推送更新时收到更新。

但是,(由于我的应用程序的性质)一次应该只有一个用户接收实时更新。换句话说,更新实际上不是针对特定的频道,而是针对特定的用户。

我当前的解决方案是:每个频道只允许一个用户,因此针对频道的更新是针对那个用户的。假设我有 500 个用户,那么我需要有 500 个频道。这需要设置很多通道。这会影响性能吗?

有没有更好的办法?

================

应用背景

该应用程序是关于接收有关灾难的报告并分配最近的机构来接管和处理情况。每个机构都将成为系统的用户(将获得一个用户名)。当服务器收到报告时,最近的——只有一个——用户(来自提交报告的位置)将收到来自服务器的实时通知。

4

1 回答 1

7

目前,除了为每个用户设置一个频道外,没有其他方法可以向用户发送消息。

我当前的解决方案是:每个频道只允许一个用户,因此针对频道的更新是针对那个用户的。假设我有 500 个用户,那么我需要有 500 个频道。这需要设置很多通道。这会影响性能吗?

这听起来与您现在正在使用的解决方案完全一样,例如频道 - 和用户 - 可以通过频道名称唯一标识:

<user_name>-notification

由于通道只是一种路由机制,因此拥有大量通道并没有真正的开销;当然500根本不会有任何问题。

我假设您正在使用私人频道来确保只有允许的用户才能订阅他们的频道。

于 2013-10-05T11:31:54.203 回答