簡體   English   中英

AMQP C++ 實現

[英]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實現。

對於 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM