我们正在编写需要消息传递的 C++ 代码。是否有可用的免费/开源和稳定的 AMQP 服务器,它具有同样稳定的 C++ 客户端库。我们还需要向用户提供我们代码的 Python 接口(想法是在 C++ 中做最大的事情并在 Python 中公开 API)。
什么是实现这一目标的最佳方法。
为了将来参考,看看Apache Qpid - 它有一个 C++ 客户端库,非常好。您的用例的问题是 Rabbit 实现了 AMQP 0-8,而 Qpid C++ 客户端使用 AMQP 0-10。
Apache QPid似乎与此相关。这里有一个 C++ 代理/客户端库。
请注意,由于您正在对协议 (AMQP) 进行编程,因此您的代理/客户端不必使用相同的语言。例如,我正在使用 Scala 和 C# 客户端与 RabbitMQ(一个 Erlang 代理)交谈。
librabbit 上的AMQP C++ 包装器https://github.com/akalend/amqpcpp : https://github.com/alanxz/rabbitmq-c
对于 RabbitMQ,以下库具有更丰富的功能和良好的文档: https ://github.com/CopernicaMarketingSoftware/AMQP-CPP
我知道这有点晚了,我和提问者处于同样的位置。
我正在根据上面的答案查看IceStorm和 Apache QPid。
目前我有rabbit MQ,但与C++集成并不容易。
我认为如果您可以控制客户端和服务器代码,并且您不需要 AMQP“标准”并且 IceStorm 可以满足您的需求,并且您对 GPL 许可证(或准备从 zeroC 购买许可证)很满意。 . IceStorm 似乎是目前最稳定和跨语言的解决方案。