跳到主要内容

PubSub+ JCSMP API的冗余最佳实践

本节描述了当您的客户端应用程序将与使用冗余功能(如高可用性(HA))的 PubSub+ 事件代理一起使用时应考虑的事项。高可用性涉及使用两个代理,一个主代理和一个备用代理,它们协同工作以提供无缝故障转移能力。有关更多信息,请参阅高可用性的事件代理冗余。

高可用性重新连接设置

高可用性(HA)故障转移通常需要大约 30 秒。这个时间包括在 HA 冗余组内从一个设备故障转移到其配对设备的过程。您应该配置应用程序以处理重新连接尝试,以确保最小的中断。

为了提供一个强大的故障转移机制,Solace 建议应用程序将重新连接持续时间设置为至少 300 秒或 5 分钟。这个重新连接持续时间可以容纳 HA 故障转移过程,并有助于管理可能出现的任何额外延迟。要为 HA 冗余事件代理设置 5 分钟的重新连接持续时间,请将以下会话属性设置为这些值:

  • 连接尝试次数:1
  • 重新连接尝试次数:20
  • 重新连接尝试等待:3,000 毫秒
  • 每个主机的连接尝试次数:5

有关如何在客户端应用程序上设置这些属性的信息,请参阅在 PubSub+ JCSMP API 中配置连接超时和重试。

软件事件代理的主机列表

使用软件事件代理的应用程序应配置一个包含两个地址的主机列表,一个用于 HA 冗余组中的主事件代理,另一个用于备用事件代理。这些地址可以是 IP 地址或主机名。HA 冗余组中的设备共享相同的主机地址,因此无需配置多个主机。

当应用程序尝试连接到事件代理时,它应按照主机列表中指定的顺序进行。如果与主事件代理的连接失败,客户端将在每个主机指定的重试次数后自动尝试连接到备用事件代理。因此,建议将每个主机的重连尝试次数设置为较低的值,例如 1,以便快速故障转移。

在 HA 设置中,主机列表至关重要,以确保客户端应用程序可以在主代理失败时无缝切换到备用事件代理。故障转移机制应确保最小的中断,通常需要大约 30 秒,备用代理才能激活并准备好处理客户端连接。