2

TIBCO EMS .NET 参考指南说(第 134 页)

要启用重新连接行为和容错,serverURL 参数必须是两个或多个 URL 的逗号分隔列表。在只有一台服务器的情况下,您可以提供该服务器 URL 的两个副本以启用客户端重新连接(例如,tcp://localhost:7222,tcp://localhost:7222)。

TIBCO EMS 用户指南(第 292 页)讨论了故障转移方案、客户端通知和客户端到备份服务器的自动传输,但没有具体与“重新连接”相关。

在“重新连接”场景中,服务器是否处理所有事情?还是客户端必须对其 TIBCO.EMS.Connection 实例做些什么?

4

1 回答 1

4

从我们的测试看来,服务器和客户端上都有启用此功能的设置。在客户端,SetReconnAttemptCount、Delay、Timeout 控制客户端在意识到服务器故障转移/连接故障转移后尝试重新连接的尝试。

在我们的测试中,我们使用单服务器环境,在连接字符串中列出了两次服务器(使用您上面概述的技巧),当该服务器脱机时,我们收到了故障转移过程生效的客户端通知(我们启用了 Tibems .SetExceptionOnFTSwitch(true)) 并且当服务器重新上线时,我们的客户端无缝地重新连接,没有错过任何一个节拍。我们不需要编写任何代码,内部重新连接逻辑发挥了它的魔力。

在服务器端,需要启用容错,我相信需要启用服务器-客户端和客户端-服务器心跳(尽管尚未验证)。

希望这可以帮助。

于 2008-10-24T19:51:44.440 回答