代码之家  ›  专栏  ›  技术社区  ›  Xin

如何从客户端订阅1000个PubNb通道?

  •  0
  • Xin  · 技术社区  · 7 年前

    我有一个使用PUBub的Web客户端,需要订阅1000个频道。但是一旦我调用Pubub.订阅(所有通道),服务器返回500。

    我没有找到任何限制说为什么不能。

    3 回复  |  直到 7 年前
        1
  •  1
  •   Xin    7 年前

    订阅频道的数量是有限的,这就是我所测试的: 六百四十 通道。一旦订阅了640个频道,它仍然是成功的,但是如果你再订阅一个,错误就会开始发生(服务器返回500),所有的PubNub连接将被破坏。

    似乎你可以同时订阅更多的频道(官方网站建议 50个 频道,但我已经尝试订阅400个频道在同一时间,它是成功的)

    所以总限额 640个 是我发现的。

        2
  •  1
  •   Todd Greene    7 年前

    实际上,你可以订阅的频道数量没有严格限制。但是,如果您打算订阅超过20-30个频道,通常建议使用通道组,这允许您创建频道集合,并为该集合命名。然后,客户端只需订阅通道组而不是单个通道。 https://www.pubnub.com/developers/tech/key-concepts/stream-controller/channel-groups/

        3
  •  0
  •   Stephen Blum Craig Conover    7 年前

    订阅1000个频道

    你已经知道要订阅的频道列表, Channel Groups 将帮助您获得每组2000个频道。还有一些选项可以订阅 无限数量的频道 使用通配符!

    你可以 每个2000个频道 channel group 是的。这符合您对1000频道订阅的需求。

    也要记住 Security is important 是的。记住你应该保护你的数据。

    更多频道订阅选项如下供您参考。

    频道订阅选项

    适用于Pubnub Sdks 4.0及更高版本。sdk支持的多路复用 差不多50个频道 是的。您可以进一步增加此数字,但设备性能将受到影响。最好是利用 通道群 核心特征 PubNub Stream Controller 产品。流控制器包括以下频道订阅增强功能。

    通配符订阅

    最大可寻址通道:(无限制)

    Pubnub也支持 Wildcard Subscriptions using a Hierarchical dot notation 是的。今天在PubNub你可以订阅频道 "a.b.*" 并在以下任何频道接收消息 a.b 是的。您可以发布到频道 "a.b.c" 并在通配符订阅中接收消息。注意,层次结构支持的最大深度是当前的深度。 是的。例如 “A.B.*” 很好但是 "a.b.c.*" 不支持。

    通道组

    最大可寻址信道:(2000,10,20000)

    用PubNub通道组动态控制设备的数据流馈送。您可以远程控制设备订阅的流和动态 添加 去除 频道列表中的频道。您可以复用订阅多达10个频道组,每个频道组最多可以包含2000个频道。

    多路复用

    最大可寻址信道:(~50-500)

    您可以通过订阅 通配符通道 , 通道组 , 状态事件流通道 还有更多。建议将多路复用信道保持在50以下以获得最佳的设备性能。

    流过滤

    最大可寻址通道:(无限制)

    Stream Filter 允许订阅服务器应用筛选器以仅接收满足筛选器条件的消息。消息筛选器由订阅客户端设置,但它应用于服务器端,从而防止不需要的消息(不符合筛选器条件的消息)到达订阅服务器。流过滤器由两个组件实现:发布时的元字典和订阅时的过滤器表达式。过滤器应用于客户端订阅的所有信道。当消息被加密时(在初始化PubNub时使用密码密钥),元字典是纯文本,因此PubNub网络可以根据需要正确地应用过滤器。重要的是只包括不保密的信息或其他需要加密的信息。