Управляет ли сервер TIBCO EMS переподключением? или клиент? - PullRequest
2 голосов
/ 24 октября 2008

Справочное руководство TIBCO EMS .NET гласит (стр. 134)

Чтобы включить поведение переподключения и отказоустойчивость, параметр serverURL должен представлять собой разделенный запятыми список из двух или более URL-адресов. В случае только одного сервера вы можете предоставить две копии URL-адреса этого сервера, чтобы разрешить переподключение клиента (например, tcp: // localhost: 7222, tcp: // localhost: 7222).

В руководстве пользователя TIBCO EMS (стр. 292) рассказывается о сценариях отработки отказа, уведомлениях клиентов и автоматической передаче клиентов на сервер резервного копирования, но ничего, кроме "повторного подключения", нет.

В сценарии "переподключения" сервер обрабатывает все? или клиент должен что-то делать со своими экземплярами TIBCO.EMS.Connection?

1 Ответ

2 голосов
/ 24 октября 2008

По результатам нашего тестирования видно, что на сервере и на клиенте есть настройки, которые включают эту функцию. На стороне клиента SetReconnAttemptCount, Delay, Timeout управляют попытками, которые клиент пытается восстановить, как только он узнает об отказе сервера / восстановлении соединения.

В нашем тестировании мы использовали среду с одним сервером, дважды указали сервер в строке подключения (используя трюк, описанный выше), и когда этот сервер был отключен, мы получили уведомление клиента о том, что процесс аварийного переключения вступает в силу мы включили Tibems.SetExceptionOnFTSwitch (true)), и когда сервер был снова подключен к сети, наш клиент, казалось, снова подключился, не пропустив ни секунды. Нам ничего не нужно было кодировать, внутренняя логика повторного подключения работала с волшебством.

На стороне сервера должна быть включена отказоустойчивость, и я полагаю, что сердцебиения сервера-клиента и клиента-сервера должны быть включены (хотя это еще не было проверено).

Надеюсь, это поможет.

...