Недостатки использования Autobahn в качестве маршрутизатора WAMP?

В настоящее время я изучаю использование WAMP-протокола для синхронизации между сервером и клиентами моих будущих веб-приложений.

Они рекомендуют использовать crossbar.io в качестве маршрутизатора, но, поскольку Autobahn поддерживает все четыре роли (издатель, подписчик, вызывающий абонент, вызываемый ) мне самому интересно, зачем мне вообще нужен другой фреймворк вроде crossbar.io?

Я хотел бы использовать node.js с Autobahn | JS в качестве маршрутизатора и Autobahn | JS в веб-браузере в качестве клиента. Это возможно или я что-то упустил здесь?


person Hedge    schedule 16.10.2015    source источник


Ответы (1)


Autobahn (JS/Python/CPP) поддерживает все четыре роли client, но, поскольку WAMP является маршрутизируемым протоколом, вам все равно нужен WAMP-маршрутизатор. Autobahn не предоставляет этого, и теперь вы можете использовать AutobahnJS для создания WAMP-маршрутизатора на Node.js.

Маршрутизатор WAMP не является фреймворком — это компонент, который вы настраиваете (аутентификация, авторизация, транспорты и т. д.), а затем просто оставляете его работающим. Когда все настроено правильно, это полностью прозрачно для вашего приложения.

Я участвую в проектах Autobahn и Crossbar.io, поэтому я рекомендую Crossbar.io, но есть и другие маршрутизаторы WAMP. Они отличаются, например. в отношении количества функций, которые они реализуют, и их производительности. Если вы не полагаетесь на функции конкретного маршрутизатора, вы можете заменить маршрутизатор WAMP в любое время.

person gzost    schedule 16.10.2015
comment
Если вы можете подписаться и публиковать между клиентами, то какова роль маршрутизатора? Я исхожу из DDP, где клиент подписывается на сервер, но здесь все по-другому. - person Hedge; 16.10.2015
comment
WAMP имеет 6 ролей: 4 роли клиента (вызывающий, вызываемый, издатель, подписчик) и 2 роли маршрутизатора (дилер и брокер). Издатель не может общаться с подписчиками напрямую, ему нужен промежуточный посредник. Аналогично с вызывающим абонентом, вызываемым абонентом и дилером. - person oberstet; 17.10.2015
comment
Спасибо за комментарий @oberstet Итак, я хочу, чтобы сервер узла был дилером, брокером, вызываемым абонентом и издателем одновременно. Оба варианта маршрутизатора node.js nightlife-rabbit и wamp-rt выглядят немного запущенными, и я не хочу использовать crossbar.io. Существуют ли более обслуживаемые варианты маршрутизатора? - person Hedge; 18.10.2015
comment
Я использую Crossbar.io, что неудивительно;) Также в сочетании с Node и на основе AutobahnJS как в браузере, так и в Node. И я не очень разбираюсь в статусе упомянутых вами маршрутизаторов, извините. - person oberstet; 18.10.2015
comment
@Hedge - По какой причине вы не хотите использовать Crossbar.io? - person gzost; 20.10.2015
comment
@gzost Возможно, я смогу ответить за Хеджа. Я собираю приложение, которое использует Autobahn для pub/sub и RPC. У меня без Crossbar работает нормально. Учитывая, что он работает без Crossbar, у меня нет причин использовать Crossbar. Я читал на сайте Crossbar, что он предоставляет pub/sub и RPC, но поскольку я могу сделать это только с Autobahn, мне трудно понять, зачем мне вообще нужен Crossbar. Я пытался прочитать о решении между Autobahn vs Crossbar + Autobahn, но не нашел ничего полезного, пока не нашел этот вопрос. Что вы думаете? - person user2023861; 15.05.2020