Как мне масштабировать приложение Heroku, которое использует Nowjs?

Масштабирование моего веб-приложения до 2-х веб-процессов происходит на Heroku breaks Nowjs/Sockets.io.

Я использую полный стек, который является новым для меня, и все прекрасно работает, пока я не добавлю второй веб-процесс. Node.js по-прежнему отвечает нормально, но Nowjs перестает отвечать. Я получаю 503 ответа в браузере и

GET musicbacon.com/socket.io/1/?t=1339117661910 dyno=web.2 queue=0 wait=0ms service=2ms status=200 bytes=82
2012-06-08T01:07:42+00:00 heroku[router]: Error H13 (Connection closed without response) -> GET musicbacon.com/socket.io/1/websocket/12401614301555103827 dyno=web.2 queue= wait= service= status=503 bytes=

на сервере.

Я думаю, что Nowjs (который является слоем абстракции поверх Socket.io) создает свой собственный сервер рядом с моим сервером Node.js. Масштабирование Heroku раскручивает новую серверную виртуальную машину Node.js, но поскольку Now.js еще не совместим с распределенными средами, он просто умирает.

Надеюсь, мне чего-то не хватает, и я могу масштабировать Now.js, потому что 1 веб-процесс Heroku может обрабатывать только около 60 пользователей одновременно.

Полная ставка: Heroku Node.js Express Jade Now.js Postgres

Ссылка на ошибку H13: https://devcenter.heroku.com/articles/error-codes

1 ответ

Решение

WebSockets не работают на Heroku, вам нужно изменить конфигурацию Socket.IO, чтобы отключить WS:

Другие вопросы по тегам