Открытое соединение остаётся на одном инстансе, но события могут возникать на другом. Используйте общий broker/pub-sub и маршрутизацию к владельцу соединения; важное состояние храните вне процесса.
Как решить проблему, когда у нас много инстансов приложения и SSE/WebSocket соединение открыто на одном инстансе, а пользователь попадает на другой?
Открытое соединение остаётся на одном инстансе, но события могут возникать на другом. Используйте общий broker/pub-sub и маршрутизацию к владельцу соединения; важное состояние храните вне процесса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Открытое соединение остаётся на одном инстансе, но события могут возникать на другом. Используйте общий broker/pub-sub и маршрутизацию к владельцу соединения; важное состояние храните вне процесса.
Sticky sessions упрощают привязку, но не решают отказ инстанса и не заменяют доставку событий. При переподключении клиент должен восстановить пропущенное по event ID/курсору, если это требуется. Redis Pub/Sub сам по себе не обеспечивает replay; для него нужен журнал. Авторизация комнаты и пользователя проверяется на каждом новом соединении.