Рекомендации для удаленных очередей сообщений C/C++

Я работаю над проектом, который включает в себя несколько программ на C++, каждая из которых принимает входные данные и генерирует выходные данные. Данные (от десятков до сотен байтов, вероятно, в формате JSON) по существу передаются (асинхронно) в одном направлении, и программы должны быть расположены на разных компьютерах с Linux в локальной сети.

Поскольку данные передаются только в одном направлении, я не думаю, что мне нужна транзакционная модель, такая как HTTP. Я думаю, что модель очереди сообщений (выстрелил и забыл) имеет смысл и должна упростить логику каждой программы. Вероятно, достаточно просто отметить, что сообщение было успешно добавлено в удаленную очередь.

Мне нужны рекомендации по реализации этой очереди сообщений на C или C++. Похоже, POSIXи Boostочереди сообщений ограничены одним хостом, RabbitMQимеет слабую поддержку C/C++, а MQ4CPPкажется недостаточно поддержанным для критически важной для бизнеса роли. Я ошибаюсь в этом? Как насчет Boost ASIOили ACEили самостоятельного написания кода сокета? Я с нетерпением жду ваших предложений.

11
задан Randall Cook 3 May 2012 в 22:44
поделиться