Возникла необходимость реализовать шину сообщений.
Предполагается следующий стандартный сценарий использования:
1. Клиент делает запрос. В ответ получает идентификатор созданной задачи. Далее делает запросы по идентификатору запроса, чтобы узнать его статус, при завершении задачи получает ответ.
2. Шина получает запрос и создаёт задачу. Если есть тот кто обработает этот тип задачи, то ему передаётся эта задача.
3. Обработчик задачи формирует ответ при успешном завершении задачи или при ошибке. Размер данных в ответе относительно небольшой, наверное до сотни килобайт (но что там будет дальше не знаю, может гораздо больше).