Здравствуйте.
С горем пополам пишу чат как вк или фейсбуке для своего приложения. Прочел темы на тостере, погуглил как в вк реализована эта функция. Кто то за long polling, кто то за websocket, кто то вообще на node.js отправляет. У меня сервер на digitalOcean, с nginx. Для деплоя использую Puma.
В общем, хотелось бы послушать мнение пользователей. Возможно для RoR есть какое то свой способ реализации.
Или что почитать на эту тему, для быстрого старта. Спасибо.
Месяца 2-3 назад написал чат с использованием этого замечательного гема. Суть в том, что параллельно с приложением, запускается Websocket-сервер, висит на определенном порту, и принимает входящие websocket запросы.
Пытался применить в крупном проекте. В продакшене была попоболь. В Standalone режиме он работает крайне нестабильно, а в интегрированном запустится только на EventMachine-сервере. Следовательно Unicorn, Passenger и Puma сразу отбрасываются. Thin для продакшена это дно.
Пришлось переписывать все на faye через private_pub. Ничуть не жалею.
На руби обычно используют faye.jcoglan.com и в частности для рельс https://github.com/ryanb/private_pub
Оба варианта предполагают параллельный запуск отдельного сервера (thin), который и обслуживает запросы по WebSocket.