RabbitMQ支持多种协议(protocol),AMQP,MQTT,STOMP,......
例如,当使用 PHP 时,使用 STOMP 库进行发布会更容易,因为 PHP AMQP 库需要编译的 C 代码,并且如果不需要的话,设置起来有点麻烦。
在 JAVA 方面,Spring 上的 apache Camel 和 AMQP 非常简单。
如果消息代理是 RabbitMQ,是否可以设置一个队列,通过 STOMP 发布到该队列,然后通过 AMQP 消费,然后再次通过 AMQP 发布并通过 STOMP 消费?
最佳答案
是的,鉴于您已经安装了RabbitMQ's STOMP plugin,这应该可以工作。在您的 RabbitMQ 节点上。
该协议(protocol)仅定义客户端和服务器之间的通信,对消息本身没有影响。
您应该注意,使用 AMQP 以外的协议(protocol)很可能会带来限制和/或更差的性能。
还存在native PHP libraries对于不需要编译C代码的RabbitMQ。不幸的是,我无法告诉你哪一个是最好的,因为我是一个 Java 人;-)。
关于RabbitMQ,是否可以通过一种协议(protocol)发布并通过另一种协议(protocol)消费?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17832399/