Ответ 1
Я бы рекомендовал amqp.node и bramqp через node -amqp. node -amqp имеет много ошибок и плохо поддерживается, и он скрывает концепцию "канала", которая вводит множество проблем для серверов rabbitmq (потому что они никогда не закрываются).
В чем разница между этими клиентскими библиотеками amqp? Какой из них наиболее рекомендуется? Каковы основные отличия?
Я бы рекомендовал amqp.node и bramqp через node -amqp. node -amqp имеет много ошибок и плохо поддерживается, и он скрывает концепцию "канала", которая вводит множество проблем для серверов rabbitmq (потому что они никогда не закрываются).
Я парень, который написал библиотеку bramqp. Поэтому я с самого начала признаюсь, что могу быть немного предвзятым.: P
По-моему, до тех пор, пока вы знаете спецификацию, bramqp должен работать нормально. В противном случае используйте amqp.node
Ниже перечислены библиотеки amqp, доступные для node.js.
amqplib/ amqp.node - стиль обещаний, все еще обновляемый, выглядит довольно стабильно и легко
bramqp - обеспечивает полный низкоуровневый доступ к функциям AMQP, не рекомендуется для запуска
amqp-coffee - реализация coffeescript похожа на amqp/ node -amqp
amqp/ node -amqp - популярный фиксированный API, который не обновляется так часто, несколько нечетных ошибок, стабильный, но ограниченный
Следующие библиотеки используют одну из предыдущих библиотек, обеспечивая при этом более простой интерфейс или добавление функций
rabbit.js использует amqplib/amqp.node
wascally использует amqplib/amqp.node
amq использует amqplib/amqp.node
amqpea использует bramqp
easy-amqp использует amqp/ node -amqp
rabbus использует wascally
Я также собираюсь добавить node -amqp10 отдельно, так как он может подключаться к серверам amqp 1.0.
Если есть еще что-то, что я должен добавить, просто дайте мне знать.
Я использовал node-amqp
npm install amqp
Это тот, который рекомендован RabbitMQ, поэтому я его и использовал. Из того, что я делал, этот модуль более сух и читабельен по сравнению с другими библиотеками, которые я видел.
Я использовал какое-то время. На первый взгляд может показаться, что node -amqp (amqp) более адекватен, но на самом деле у него так много ошибок, и никто их не фиксирует. Для экземпляров
Я тестировал его с брокером, предоставленным www.robomq.io, это хороший, так что вина должна быть в библиотеке. Однако реализовать идеальную библиотеку в Node.js сложно.
Кстати, вы можете найти полный набор примеров кода, используя amqp.node(amqplib) в 5 сценариях в https://github.com/robomq/robomq.io/tree/master/sdk/AMQP/Node.js и документация на http://robomq.readthedocs.org/en/latest/one-one/#nodejs.
Просто начал изучать кроликм. Я нашел из других блогов, что ampq.node хорошо принят. Еще один, который я нашел (не тестировался), был изначально. https://github.com/LeanKit-Labs/wascally
https://github.com/guidesmiths/rascal#rascal тоже стоит упомянуть. Он построен на вершине amqplib и имеет набор полезных функций, таких как логика автоматического повторного подключения, конфигурация на основе подписки/публикации и хорошая поддержка TDD.