Есть ли стандартный способ выполнения RPC с rabbitmq-c

В RabbitMQ учебниках есть демонстрация того , как делать удаленные вызовы процесса во всех , кроме С-языках (C, C++). Я использую rabbitmq-c, и я близок к тому, чтобы повторить то, что делает учебник Python, в конце концов correlation_id а также reply_to доступны поля в amq_basic_properties.

При этом я вижу следующие два метода в amqp.h заголовок:

  • amq_simple_rpc
  • amq_simple_rpc_decoded

Насколько я понимаю, они используются внутри для связи библиотеки с брокером (например, как проходит вызов для создания очереди), но мне было интересно, могу ли я использовать их напрямую для поддержки моих собственных удаленных вызовов процессов, то есть иметь функцию это «живет» в одном клиенте и делает его доступным для вызова другим клиентом.

Если эти методы нельзя использовать таким образом, есть ли стандартная альтернатива или описание того, как выполнять маршрутизируемые RPC с librabbitmq-c? Является ли мой подход к воспроизведению учебника pika "разумным"?

1 ответ

Вы правы в своем подозрении, что etc предназначены для низкоуровневого взаимодействия клиент-брокер. Они действительно не подходят для (при посредничестве брокера) связи между клиентами.

Я считаю, что ваш подход, следующий уроку по пикам, разумен. Боюсь, я не знаю ни одной стандартной вспомогательной библиотеки RPC для librabbitmq-c.

Другие вопросы по тегам