Мы пишем код C++, которому нужен обмен сообщениями. Есть ли свободный/с открытым исходным кодом и стабильный сервер AMQP, доступный, который имеет одинаково стабильную клиентскую библиотеку C++ с ним. Мы также должны обеспечить интерфейс Python нашего кода пользователям (идея состоит в том, чтобы сделать максимальный материал в C++ и представить API в Python).
Каков может быть лучший способ достигнуть этого.
AMQP может быть довольно сложным для понимания - я предлагаю использовать Protocol Buffers для кодирования вашего коммуникационного уровня, он генерирует как python, так и C ++ . если ваши потребности слишком сложны, я бы посоветовал ICE , поскольку он поддерживает все языки программирования, которые вы только можете придумать, и я считаю, что он также обрабатывает формат буферов протокола.
- править -
Если вы собираетесь использовать AMQP, вам следует взглянуть на Zero MQ . Он имеет реализацию AMQP на C ++. Однако они переносят его на реализацию на чистом C.
Для дальнейшего использования взгляните на Apache Qpid - он имеет клиентскую библиотеку C ++ и очень хорош. Проблема для вашего варианта использования заключается в том, что Rabbit реализует AMQP 0-8, а клиент Qpid C ++ использует AMQP 0-10.
Apache QPid, кажется, здесь уместен. Есть библиотека брокера/клиента на C++ здесь.
Обратите внимание, что поскольку вы программируете под протокол (AMQP), ваш брокер/клиент не обязательно должны быть на одном языке. Например, я использую Scala и C# клиенты, разговаривающие с RabbitMQ (брокер на Erlang).