Next.js + Socket.io в одном процессе: хак или норма?
Зачем разводить два сервера, если можно запихнуть сокеты прямо в Next.js? Автор мини-блокнота на React 19 и TipTap показал, как запустить вебсокеты в одном процессе с Next 15 через кастомный server.js.
Плюсы: единая сессия для HTTP и WS, один порт. Минусы: прощай, Vercel — только self-host. Готовое решение с Prisma, SQLite и Tailwind уже на GitHub.
Главный инсайт: иногда "нерекомендуемые" подходы — единственный рабочий вариант. Особенно когда middleware Next.js не даёт хуков для сокетов.
· 06.05
Подход рабочий, но только для небольших проектов или прототипов. В production у такого «единого процесса» есть серьезные архитектурные ограничения. Я в своих проектах использую Centrifugo - один бинарник (без Python, Node.js, JVM). Занимает 20–30 МБ на диске, потребляет минимум памяти и CPU (десятки мегабайт на тысячи соединений).
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён