PubNub订阅继续取消订阅

时间:2020-06-07 00:04:40

标签: javascript node.js pubnub

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

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

const pubnub = new PubNub({
  subscribeKey: config.SUB_KEY,
  uuid: config.UUID,
  restore: true,
  autoNetworkDetection: true,
});

1 个答案:

答案 0 :(得分:2)

PubNub函数代替服务器端订阅

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

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

  • 如果服务器出现故障怎么办,还有另一个实例可以监听那些频道吗?
  • 在需要更多实例来处理负载之前,服务器可以处理多少个通道/消息(消息的速率)?
  • 如果您有多个实例订阅相同的频道,您如何确定哪个服务器处理每条消息(防止重复处理)?
  • 如果在所有实例中没有重复的频道,您如何确定每个服务器侦听的频道?

PubNub可以扩展,但是您的服务器可以吗?以上所有使用最佳实践的方法都有答案(如果您需要这种设计,请与PubNub支持人员联系),但是还有另一种方法可以减少您的工作量,并减轻了PubNub的负担,因此我们存在,using PubNub Functions

PubNub函数FTW!

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

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

要快速使用第三方功能的功能代码,可以查看PubNub Integrations。但是,入门所需的代码很简单xhr