将无代理AMQP写入MQTT适配器

问题描述 投票:0回答:1

我想实现一个从amqp到mqtt的适配器,它将接收amqp消息,获取其有效负载并将其作为mqtt消息发布到我的mqtt代理。因此,适配器必须能够

  • 在端口上监听
  • 确认连接请求
  • 接收amqp消息
  • 确认他们
  • 使用mqtt发布

在我的生态系统中,我想为传入消息提供不同的协议,但是我只想运行一个mqtt代理。我想避免其他经纪人。我读到here,即amqp“ 1.0允许无代理点对点通信”。我想这对我的用例是正确的(尽管amqp 0-9-1会很好)。

我很难为此找到一种方法。 Rabbitmq客户端库似乎仅用于客户端与代理之间的通信。我也经历了qpid回购。使用他们的代理库,我可以在自己的项目中启动嵌入式代理,如图here所示。那是一个不错的头,但这不是我所需要的。mqtt的东西对我来说没问题。让我感到困扰的是“等待amqp消息”部分。

我已经研究了几个小时。我在这里瞎吗?还是真的那么罕见/复杂?非常感谢您或网络上关于可能的库或示例的任何建议。

谢谢。

java mqtt amqp qpid
1个回答
0
投票

根据所使用的语言,您可以使用Qpid proton-c或proton-j协议引擎,并在内存中实现自己的AMQP 1.0服务器样式组件,该组件可以在服务器套接字上侦听然后接受传入的AMQP 1.0连接,并且处理您认为合适的消息。但是,这确实需要您对协议有相当深入的了解,并且要实现一定的逻辑来处理各种客户端行为,因为AMQP 1.0协议具有一般的灵活性,您可能会看到这些行为。

您可以使用ActiveMQ Artemis之类的多种多协议代理之一或类似的代理为您处理所有工作,从而省下很多精力。我认为,如果您想按照自己的方式行事,也许可以利用质子C ++或C客户端中的一些更高级别的代码来提供帮助,但这仍然是一项相当大的工作。

© www.soinside.com 2019 - 2024. All rights reserved.