Балансировщик нагрузки хеша Nginx не работает после простоя бэкэнда - PullRequest
0 голосов
/ 30 ноября 2018

У меня возникла проблема с неправильно направленными соединениями после частичного простоя бэкэнда (например, перезапуск приложения).

У меня есть продукты с веб-сокетом, подключенным к бэкенду и конечной точке / products /: productId /который иногда используется для подключений через веб-сокет клиентами ... Nginx настроен на использование балансировщика нагрузки хэша с идентификатором продукта в качестве хэша для направления клиентских подключений к экземпляру серверной части, к которому подключен продукт.

Он работает нормально, пока экземпляр не выйдет из строя (назовем его экземпляром A), после чего nginx распознает серверную часть как сбойную.Продукты немедленно пытаются восстановить соединение и теперь направляются в экземпляр B, где они остаются подключенными.Теперь экземпляр A возвращается, и через некоторое время клиент подключается и направляется к A, но продукт все еще подключен к B.

В качестве решения я ищу способ заставить nginx сброситьсоединение продуктов на B, которые должны быть на A, как только экземпляр A вернется.

...