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++ 实现 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
对 int/float 进行排序的最快并行 C++ 排序实现是啥? [关闭]