WebSocket: Как переключить подключения websocket с основного на отдельный кластер с помощью DataPower?

#websocket #ibm-datapower

Вопрос:

Я использую DataPower для перенаправления входящих запросов в кластеры приложений.
У меня есть 2 кластера, основной кластер и резервный кластер. В случае сбоя в основном кластере запросы перенаправляются в резервный кластер. Но у меня возникли проблемы с уже установленными подключениями к веб-сайтам. Запросы, полученные от них, все еще пытаются перейти в основной кластер.

У кого-нибудь была подобная проблема, пожалуйста, помогите мне с решением?

Спасибо.

Ответ №1:

К сожалению, невозможно «переместить» соединение WebSocket без повторного подключения. Соединение является постоянным, и перемещение хоста приведет к тому, что ему придется выполнить новое рукопожатие с новым хостом.

Существуют более продвинутые балансировщики нагрузки и запуск pub/sub брокера для вашей WS (например, RabbitMQ/Кафка), которые могут обрабатывать сбои/масштабирование для WS, но DataPower не может, к сожалению, из коробки…