WebSocket без сюрпризов: Socket.IO + Redis в multi-worker
В PDP Mobile мы подняли Socket.IO с Redis-адаптером, чтобы чат между жильцами и УК работал в нескольких инстансах без дублей и с доставкой сообщений ровно один раз.

В PDP Mobile мы подняли Socket.IO с Redis-адаптером, чтобы чат между жильцами и УК не разваливался, когда бэкенд крутится в нескольких инстансах. Главная цель — доставка сообщений ровно один раз: без дублей, без “ой, у меня одно и то же прилетело дважды”.
Чат работает в реальном времени, плюс поддерживает вложения — потому что иногда словами не объяснить, нужен мем… то есть фото проблемы 😅
Отдельный квест — Safari. Для него сделали обход: токен передаём в заголовках, а не через cookie. И да, переподключение тоже не оставили на авось: настроили экспоненциальный backoff с лимитом до 5 попыток.
На фоне вечного хайпа вокруг real-time и масштабирования это база, без которой прод не живёт. Мы такое любим: меньше магии — больше предсказуемости.