PubNub订阅不断取消订阅

问题描述 投票:1回答:1

我正在使用PubNub Node.js模块来收听频道,但它随机取消订阅,如果发生这种情况,我希望它自动重新连接。

我添加了restore: true选项,但这似乎不起作用。

const pubnub = new PubNub({
  subscribeKey: config.SUB_KEY,
  uuid: config.UUID,
  restore: true,
  autoNetworkDetection: true,
});
javascript node.js pubnub
1个回答
2
投票

PubNub函数而不是服务器端订阅

要考虑的服务器端订阅挑战

在服务器上进行订阅需要您的服务器始终保持与PubNub的开放连接。对于单个通道或多个通道,这并不困难。但是将其扩展到成千上万个通道,您会在服务器上承担相当大的责任,并且需要以可扩展的驻留方式来实现它。

  • 如果服务器宕机怎么办,还有另一个实例可以监听那些频道吗?
  • 在需要更多实例来处理负载之前,服务器可以处理多少个通道/消息(消息的速率)?
  • 如果您有多个实例订阅相同的频道,如何确定哪个服务器处理每个消息(防止重复处理)?>>
  • 如果在所有实例中没有重复的频道,您如何确定每个服务器侦听的频道?
  • PubNub可以扩展,但是您的服务器可以吗?以上所有使用最佳实践的方法都有答案(如果您需要这种设计,请与PubNub支持人员联系),但是还有另一种方法可以减少您的工作量,并减轻了PubNub的负担,这就是为什么我们存在,using PubNub Functions

PubNub函数FTW!

因此,您希望服务器接收发布到一个或多个频道的消息吗?创建绑定到您最初订阅的频道的发布后功能] >>,然后将消息发送到服务器using xhrxhr。您将需要在服务器上提供一个REST端点来接收这些Web请求,但这将成为您接收POST消息的代码。您只需要将该代码添加到REST端点即可(假设您知道如何实现此端点,但如果没有,则有很多关于此的内容)。

如果要在将消息发送到服务器之前对其进行修改,请使用发布功能之前

要快速获得第三方功能的功能代码,可以查看subscribe。但是,入门所需的代码是简单的PubNub Integrations

© www.soinside.com 2019 - 2024. All rights reserved.