Apache 从MQTT到AMQP/STOMP的转换

Apache 从MQTT到AMQP/STOMP的转换,apache,rabbitmq,amqp,mqtt,apollo,Apache,Rabbitmq,Amqp,Mqtt,Apollo,我对这些协议有点陌生,刚刚开始探索ApacheAppollo和RabbitMQ等消息代理。 因此,我的代理从发布者接收MQTT消息。我想将其转换为AMQP(最好)或STOMP协议,以发送到web服务器。但到目前为止,我还无法做到这一点。 我查看了RabbitMQ,并尝试启用MQTT插件,但当我加载它时,我无法启动服务器。 我想知道是否有人能带我来这里?有一个API可以帮助我吗?我对拉比特感到很困惑。我能够轻松加载其他插件,如stomp、管理实用程序等。嗯,我不确定是否应该删除这个问题。但如果有必

我对这些协议有点陌生,刚刚开始探索ApacheAppollo和RabbitMQ等消息代理。 因此,我的代理从发布者接收MQTT消息。我想将其转换为AMQP(最好)或STOMP协议,以发送到web服务器。但到目前为止,我还无法做到这一点。 我查看了RabbitMQ,并尝试启用MQTT插件,但当我加载它时,我无法启动服务器。
我想知道是否有人能带我来这里?有一个API可以帮助我吗?我对拉比特感到很困惑。我能够轻松加载其他插件,如stomp、管理实用程序等。

嗯,我不确定是否应该删除这个问题。但如果有必要,我会让版主和stackOverflow社区自行决定。 顺便说一句,我使用Ubuntu 14.04

关于RabbitMQ经纪人的信息

因此,Mosquitto正在占用通常用于MQTT的端口1883的后台运行。我本来可以更改RabbitMQ的端口,但我决定不这样做,并试图杀死Mosquitto进程。但由于某种原因,我不能。 目前,我的快速修复方法是完全删除MOSQUITO,这释放了端口,使RabbitMQ能够使用它

关于协议

我使用了Paho和提供的RabbitMQ库来编写简单的程序,这些程序可以通过RabbitMQ代理在AMQP/MQTT中发布和接收消息。 (我的谷歌搜索需要做得更好!) 还没有把一个换成另一个。但这不应该是太大的一步来实现。 如果有一个API或其他东西可以帮助我以一种非常简单的方式实现转换,我还是会很高兴的。当然,如果没有,我会尽快解决


欢迎提出任何建议/意见。我对这一切都是全新的,我真的可以从你们所有经验丰富的专业人士那里得到建议:)

我100%确信这是可行的。我现在正和robomq.io经纪人一起做这件事。一个原因可能是客户端库中的bug有时会限制您这样做

您应该注意的另一件事是,默认情况下,RabbitMQ MQTT适配器在内部映射到
amq.topic
exchange,因此在您的STOMP对等机上,您应该订阅或发送到
/topic/yourTopic
;在AMQP对等机上,将队列绑定到
amq.topic
exchange或发布到该exchange

遵循这一点,构建您的客户机

如果你不能弄清楚你的服务器,只需从robomq.io获得一次免费试用。它为你节省时间和金钱

我使用的开发工具是robomq.io代理,Python中的生产者(AMQP库:pika,MQTT库:paho,STOMP库:stompest),Node.js中的消费者(库:amqplib)


希望有帮助

请看一看我自己的答案,再加上你认为正确的:)