AMQP C++ 实现 [关闭]

Posted

技术标签:

【中文标题】AMQP C++ 实现 [关闭]【英文标题】:AMQP C++ implementation [closed] 【发布时间】:2010-02-14 14:13:37 【问题描述】:

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

实现这一目标的最佳方法是什么。

【问题讨论】:

您好,很抱歉回复得这么慢。我们刚刚找到它。有兴趣使用 RabbitMQ C 客户端并在 C++ 中为它提供一个遵循 C++ 习惯用法的接口。这已在 RabbitMQ 邮件列表中进行了讨论,如果您有任何问题,我建议您这样做。已经提出了一个草案接口。但是,为什么不直接使用 C 客户端呢?请联系并告诉我们。您可以发送电子邮件至 info@rabbitmq.com 或发布到 rabbitmq-discuss。干杯亚历克西斯 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

谢谢布赖恩,我明白了,所以我更正了我的问题,是否有具有良好稳定 C++ 客户端库支持的 AMQP 代理。 恐怕无法评价QPid的稳定性。我会更关心代理的稳定性,因为它必须独立运行并管理可靠的排队/交付等。RabbitMQ 似乎运行良好。我怀疑要做的事情是在您的特定场景中运行 QPid/RabbitMQ 并查看它的运行情况。【参考方案3】:

librabbit 上的 AMQP C++ 包装器 https://github.com/akalend/amqpcpp:https://github.com/alanxz/rabbitmq-c

【讨论】:

【参考方案4】:

对于 RabbitMQ,以下库具有更丰富的功能和良好的文档: https://github.com/CopernicaMarketingSoftware/AMQP-CPP

【讨论】:

【参考方案5】:

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

我正在根据上述答案查看IceStorm 和 Apache QPid。

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

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

【讨论】:

以上是关于AMQP C++ 实现 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP中RabbitMQ之amqp扩展实现

对 int/float 进行排序的最快并行 C++ 排序实现是啥? [关闭]

贝宝实现... C++ [关闭]

C++ 中是不是有任何与传输无关的 JSON-RPC 实现? [关闭]

Spring AMQP杂记之AMQP基本概念

在 C++ 或 C 中寻找基于磁盘的 B+ 树实现 [关闭]