Как реализовать push-сервис на основе веб-сокетов через Rails?

Я создаю приложение для обмена сообщениями, такое как WhatsApp. Моя цель — предоставить только REST API через Rails и «push-уведомления» для подключенных клиентов через веб-сокеты. Таким образом, клиенты общаются с сервером только с помощью REST API. Только сервер отправляет данные через веб-сокет. Клиенты могут только получать данные от него.

В настоящее время я создал сервер обработки событий, прослушивающий соединения через веб-сокеты и соединения сокетов домена Unix. Когда клиент выполняет запрос к REST API, Rails подключается к сокету домена Unix, чтобы сообщить машине событий, какой подключенный клиент должен быть уведомлен через веб-сокет.

Я беспокоюсь о том, как он будет вести себя в производственной среде (на моем сервере работает Apache Passenger). Поэтому я ищу какой-нибудь проект для решения моей проблемы. Я взглянул на Faye, но не могу понять, как заставить его отправлять уведомления подключенным клиентам из внешнего процесса (это могут быть рельсы при выполнении запроса). Есть идеи?


person user1170896    schedule 26.07.2013    source источник


Ответы (1)


Вы смотрели на гем синхронизации? Я делаю что-то подобное, и это то, что я использую

https://github.com/chrismccord/sync

У них есть очень хорошее видео об интеграции и пример https://github.com/chrismccord/sync_example.

и это полностью поддерживает Фэй и Пушер.

Я использую Faye для разработки и Pusher для производства.

person MZaragoza    schedule 22.12.2013