Вступить в клуб →
сложнаявопросWebSocket, SSE и real-time

Socket.IO на трёх репликах сыплет ошибками «Session ID unknown»

Сервис на Socket.IO масштабировали с одной реплики до трёх за обычным балансировщиком с распределением round-robin. Redis-адаптер для рассылки подключён. Часть клиентов не может подключиться: в логах 400 Bad Request и «Session ID unknown», у клиентов — бесконечное переподключение.

В чём причина?

  • Нужны sticky-сессии: запросы опроса попадают на разные реплики
  • Redis-адаптер не поддерживает больше двух реплик
  • Socket.IO нельзя запускать за балансировщиком
  • Клиенты используют старую версию протокола WebSocket

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела