据我了解 AMQP 0.9.1,主要好处是您可以发送和接收消息并以独立于代理的方式配置交换/绑定(bind)/队列,因此您可以切换代理实现而不会太头疼.
现在,AMQP 1.0 仅定义了线路级协议(protocol),因此您实际上必须了解代理的具体信息才能实现大多数消息传递模式。
那么为什么我会偏爱符合 AMQP 的消息代理而不是不符合 AMQP 的消息代理呢?
如果代理实现了 AMQP 1.0,我仍然被锁定在代理特定的客户端代码中。对于 AMQP 0.9.1,理论上我是独立于代理的,但很可能最终会选择 RabbitMQ,因为他们似乎是唯一真诚地维护对 AMQP 0.9.1 的全面支持的人。
最佳答案
不幸的是,您的担忧是非常合理的。
Pieter Hintjens has great post on that ,声称“AMQP/1.0 将作为标准化工作失败并在此过程中伤害很多人的主要记录示例载入史册。”
对于您的问题:“为什么我更喜欢符合 AMQP 的消息代理而不是不符合 AMQP 的消息代理?”绝对不是因为您可以选择更改消息代理提供商,因为现在不需要。只有两种情况,我会考虑使用 AMQP 消息代理:
1) 您已经习惯了,并且可以轻松找到该经纪人
2) AMQP 仍然具有让客户端支持多种编程语言的优势。但是STOMP也将在这里服务。
关于rabbitmq - AMQP 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22882108/