这些amqp客户端库有什么区别? 哪一个是最推荐的? 有哪些主要区别?
答案 0 :(得分:48)
我建议使用{-3}}和amqp.node over node-amqp。 node-amqp有很多错误并且维护得很差,它隐藏了“通道”概念,这给rabbitmq服务器带来了很多问题(因为它们永远不会关闭)。
答案 1 :(得分:44)
我是编写bramqp库的人。所以我从一开始就承认我可能有点偏颇。 :P
在我看来,只要您了解规范,bramqp应该可以正常工作。否则,请使用amqp.node
以下是node.js可用的amqp库。
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服务器。
如果我还有其他内容,请告诉我。
答案 2 :(得分:2)
答案 3 :(得分:2)
我用了一段时间。乍一看,似乎node-amqp(amqp)更加充足,但它实际上有很多错误,没有人修复它们。例如,
我用www.robomq.io提供的经纪人对它进行了测试,这是一个很好的,所以应该归咎于图书馆。在Node.js中实现一个完美的库是很难的。
顺便说一句,您可以在https://github.com/robomq/robomq.io/tree/master/sdk/AMQP/Node.js的5个方案和http://robomq.readthedocs.org/en/latest/one-one/#nodejs的文档中使用amqp.node(amqplib)找到一整套示例代码。
答案 4 :(得分:2)
这个问题可能需要在2020年得到更新的答案。
关于不同库的功能,您仍然可以参考bakkerthehacker的答案。
2020年:
答案 5 :(得分:0)
刚开始自己学习rabbitmq。我从其他博客中发现,ampq.node很受欢迎。我发现的另一个(未经测试)是来自wascally。 https://github.com/LeanKit-Labs/wascally
答案 6 :(得分:0)
https://github.com/guidesmiths/rascal#rascal也值得一提。它构建于amqplib之上,具有一系列有用的功能,如自动重新连接逻辑,基于配置的订阅/发布以及对TDD的良好支持。