Как мне масштабировать приложение 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: