Rabbitmq 生产者/消费者的不同语言

Rabbitmq 生产者/消费者的不同语言,rabbitmq,amqp,Rabbitmq,Amqp,我想知道是否可以通过AMQP和RabbitMQ为生产者和消费者使用不同的语言 例如:Java用于生产者,python/php用于消费者,反之亦然?是的,AMQP是语言不可知的,这意味着只要您的客户端可以连接到相同的RabbitMQ服务器,您就应该能够在它们之间进行通信 谢谢你的回复。但问题是,如何将一个从java这样的语言“产生”的对象转换为一个被php这样的语言“消费”的对象?!?(一些语言中的特殊类型如何等等……);我是否应该为此使用序列化器/反序列化器?@nima你在问题中没有提到你想要发

我想知道是否可以通过AMQP和RabbitMQ为生产者和消费者使用不同的语言


例如:Java用于生产者,python/php用于消费者,反之亦然?

是的,AMQP是语言不可知的,这意味着只要您的客户端可以连接到相同的RabbitMQ服务器,您就应该能够在它们之间进行通信

谢谢你的回复。但问题是,如何将一个从java这样的语言“产生”的对象转换为一个被php这样的语言“消费”的对象?!?(一些语言中的特殊类型如何等等……);我是否应该为此使用序列化器/反序列化器?@nima你在问题中没有提到你想要发送不同的对象,只是你想要不同的语言连接到队列。这种特殊性是必需的。您不能序列化Java对象,并期望其他语言能够理解它。唯一简单的方法就是使用字符串。但是,有许多序列化技术允许您将对象作为字符串发送,并让许多其他语言读取它。看看JSON、XML和YAML。@robthewolf感谢buddy的回复。正如你提到的,我想用一种语言(比如python)发送(生成)一个对象,用另一种语言(比如java)接收(使用);所以我想问的是这怎么可能?我知道json(可能还有其他序列化程序)正在rabbitmq中使用,但我不确定是否可以在这种情况下使用它way@nima这是可能的。假设您了解如何创建并连接到队列和交换,那么只需将对象转换为JSON字符串并将字符串作为字节数组发送即可。在使用者端,将字节数组转换为字符串,然后使用JSON将其转换为java对象。确保可以在两个对象上创建等效对象sides@robthewolf再次感谢您的回复。这有点奇怪。。。我用java实现了一个简单的生产者/消费者系统,使用json作为序列化程序,一切正常;我可以用php做同样的事情;但是php作为生产者发送的对象无法在java中处理(作为消费者),并且由于MessageConversionException而失败(无法转换消息内容。无法在标头中解析…)。我认为我在生成器中对对象进行编码时出错了。有线索吗?注:我使用json_encode作为编码方法,并将“content_type”设置为“application/json”。提前谢谢