У нас есть приложение для онлайн-тестирования, которым пользуются студенты. у нас есть 4 разных сервера и Nginx над всеми из них для балансировки нагрузки между всеми 4 серверами.
Поскольку нашему приложению требуется фиксированная сессия (для одного пользователя, все запросы к одному серверу), я включил алгоритм ip_hash для балансировки нагрузки.
Теперь у нас есть ситуация, когда все студенты появляются для онлайн-теста в компьютерной лаборатории, у которой есть частный IP-адрес, назначенный каждой системе, и все проходят через один интернет-шлюз с общедоступным IP-адресом.
Теперь, когда студенты появляются для теста, балансировщик нагрузки получает один и тот же исходный IP-адрес для всех студентов и благодаря ip_hash отправляет весь трафик на один сервер.
как решить эту проблему?
Мы поддерживаем Sticky-сессию с равномерным распределением нагрузки.