Socket.IO кажется самой популярной и активной библиотекой эмуляции WebSocket. Джаггернаут использует его для создания полной системы публикации / подписки.
Faye также популярна и активна, и у нее есть собственная библиотека javascript, что делает ее полную функциональность сопоставимой с Juggernaut. Джаггернаут использует узел для своего сервера, а Фэй может использовать узел или стойку. Джаггернаут использует Redis для сохранения ( исправление: он использует Redis для pub / sub), а Фэй только сохраняет состояние в памяти.
- Все выше точно?
- Фэй говорит, что внедряет Байё - я думаю, что Джаггернаут этого не делает - потому что Джаггернаут находится на более низком уровне (IE, я могу реализовать Байё с помощью Джаггернаута)
- Может ли Фэй переключиться на использование библиотеки javascript браузера Socket.IO, если она захочет? Или их библиотеки javascript делают принципиально разные вещи?
- Есть ли какие-нибудь различия между проектами в архитектуре / дизайне / философии?
websocket
publish-subscribe
juggernaut
bayeux
socket.io
Джон Башир
источник
источник
Ответы:
Раскрытие информации: я автор Фэй.
Faye, вероятно, выглядит намного сложнее по сравнению с Juggernaut, потому что Juggernaut делегирует больше, например, он делегирует согласование транспорта в Socket.IO и маршрутизацию сообщений в Redis. Оба эти решения хороши, но мое решение использовать Байё означает, что я должен больше работать сам.
Что касается философии дизайна, то главная цель Фэй состоит в том, чтобы она работала везде, где есть Интернет, и должна быть абсолютно простой в использовании. Начать работать с ним очень просто, но его расширяемость означает, что его можно настраивать довольно мощными способами, например, вы можете превратить его в службу push-уведомления от сервера к клиенту (т.е. остановить произвольные клиенты, нажимающие на нее), добавив расширения аутентификации. .
Также ведется работа над тем, чтобы сделать его более гибким на стороне сервера. Я собираюсь добавить поддержку кластеризации и сделать основной движок pub-sub подключаемым, чтобы вы могли использовать Faye в качестве веб-интерфейса без сохранения состояния для другой системы pub-sub, такой как Redis или AMQP.
Надеюсь, это было полезно.
источник
Мне будет действительно интересно, что скажет автор Фэй. Как я уже сказал, я не использовал его, и было бы здорово узнать, как он сравнивается с Джаггернаутом. Вероятно, это случай использования лучшего инструмента для работы. Если вам нужен pubsub, Juggernaut отлично с этим справится.
источник
Фэй, конечно, могла. Еще один пример подобного проекта поверх Socket.IO:
https://github.com/aaronblohowiak/Push-It
источник