Отказоустойчивость сервера Tibco EMS с распределенной установкой не работает для приложения java

Я выполнил настройку отказоустойчивости с двумя экземплярами на отдельной виртуальной машине (host1 и host2). Если я остановлю первичный экземпляр, вторичный экземпляр активируется успешно, но текущие соединения закрываются с ошибкой.

Ошибка повторного подключения: соединение неизвестно для id = 5

2018-08-09 14:18:32.907 Connection to active server 'tcp://***:7222' has been lost.
2018-08-09 14:18:32.907 Server activating on failure of 'tcp://****:7222'.
2018-08-09 14:18:32.907 Server rereading configuration.
2018-08-09 14:18:32.938 Recovering state, please wait.
2018-08-09 14:18:32.938 Recovered 1 pending connection.
2018-08-09 14:18:32.938 Server is now active.
2018-08-09 14:18:40.032 [**@***]: reconnect failed: connection unknown for id=156
2018-08-09 14:20:35.485 Purged 1 connection.

Когда я выполняю ту же настройку на одном компьютере с двумя экземплярами Tibco, работающими с портом 9222/9224, он работает, и приложение может без проблем получать сообщения от вторичного сервера, когда первичный выходит из строя.

Кроме того, приложение Java может подключаться к обоим серверам при запуске, без проблем с подключением к обоим серверам.

Я попытался увеличить ft_reconnect_timeout, тогда я не получаю никаких ошибок на сервере Tibco, но приложение не выбирает сообщения.

Я обновил tibemsd.conf, factoryies.conf согласно TIBCO EMS в отказоустойчивом режиме

Я что-то пропустил при настройке? Нужно ли нам синхронизировать файлы Tibco в фоновом режиме, как мы это делаем для базы данных?


person sachin    schedule 09.08.2018    source источник
comment
Возможно, более актуально для сбоя сервера?   -  person Ivan Rubinson    schedule 09.08.2018


Ответы (1)


Согласно руководству пользователя Tibco EMS 8.4 Это Unshared State Fault Tolerance:
и в этом FT Primary и Secondary не будут обмениваться данными, и сервер не будет обрабатывать FT, поскольку данные не являются общими, поэтому возникает неизвестная ошибка соединения.

Клиент должен с этим справиться. Для чего необходимо использовать пакет com.tibco.tibems.ufo (tibjmsufo.jar) для Java-клиента для поддержки Unshared State FT. Также необходимо упомянуть serverUrl = tcp: // server0: 7222 + tcp: // server1: 7344 (разделенный знаком +)

person sachin    schedule 12.08.2018