AMQP C ++实现

时间:2010-02-14 14:13:38

标签: c++ python amqp

我们正在编写需要消息传递的C ++代码。是否有可用的免费/开源和稳定的AMQP服务器,它具有同样稳定的C ++客户端库。我们还需要向用户提供我们代码的Python接口(想法是用C ++做最大的事情并用Python公开API)。

实现这一目标的最佳途径是什么。

6 个答案:

答案 0 :(得分:8)

为了将来参考,请查看Apache Qpid - 它有一个C ++客户端库,非常好。您的用例的问题是Rabbit实现了AMQP 0-8,而Qpid C ++客户端则使用AMQP 0-10。

答案 1 :(得分:2)

Apache QPid似乎与此相关。有一个C ++代理/客户端库here

请注意,由于您正在编写协议(AMQP),因此您的代理/客户端不必使用相同的语言。例如我正在使用Scala和C#客户端与RabbitMQ(一个Erlang代理商)交谈。

答案 2 :(得分:1)

理解AMQP可能非常复杂 - 我建议使用Protocol Buffers来编写通信层代码,它会生成python和C ++。如果您的需求过于复杂,我建议ICE因为它支持您能想到的每种编程语言,我相信它也会处理协议缓冲区格式。

- 编辑 -

如果您打算使用AMQP,请查看Zero MQ。它有一个AMQP的C ++实现。但是,他们将它移植到纯C实现。

答案 3 :(得分:1)

答案 4 :(得分:0)

我知道这有点晚了,我和提问者处于相同的位置。

我正在查看上面每个答案的IceStorm和Apache QPid。

目前我有兔子MQ,但与C ++集成并不容易。

我认为如果您可以控制客户端和服务器代码,并且您不需要AMQP“标准”而且IceStorm可以满足您的需求,并且您对GPL许可证感到很满意(或准备从零C).. IceStorm似乎是最稳定和跨语言的解决方案。

答案 5 :(得分:0)

对于RabbitMQ,以下库的功能更加丰富,并提供了完善的文档: https://github.com/CopernicaMarketingSoftware/AMQP-CPP