[英]AMQP C++ implementation
我們正在編寫需要消息傳遞的 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 代理)交談。
AMQP可能非常復雜 - 我建議使用Protocol Buffers來編寫通信層代碼,它會生成python和C ++。 如果你的需求太復雜,我建議ICE,因為它支持你能想到的每種編程語言,我相信它也處理協議緩沖區格式。
- 編輯 -
如果您打算使用AMQP,您應該查看Zero MQ 。 它有一個AMQP的C ++實現。 但是他們將它移植到純C實現。
AMQP C ++包裝https://github.com/akalend/amqpcpp上librabbit: https://github.com/alanxz/rabbitmq-c
對於 RabbitMQ,以下庫具有更豐富的功能和良好的文檔: https : //github.com/CopernicaMarketingSoftware/AMQP-CPP
我知道這有點晚了,我和提問者處於相同的位置。
我正在根據上面的答案查看IceStorm和 Apache QPid。
目前我有rabbit MQ,但與C++ 集成並不那么容易。
我認為如果您可以控制客戶端和服務器代碼,並且您不需要 AMQP“標准”並且 IceStorm 可以滿足您的需求,並且您對 GPL 許可證(或准備從 zeroC 購買許可證)感到很酷。 . IceStorm 似乎是最穩定和跨語言的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.