Навеяно соседним вопросом
Rest vs Kafka
Везде противопоставляются подходы REST vs MessageBus.
Все популярные нынче шины работают по принципу pub-sub. Клиенты подключаются к шине и слушают сообщения. Это создает связь получателя с отправителем сообщения, но дает возможность гарантированной доставки, множество получателей и прочие плюшек.
REST API с другой стороны позволяет получателю ничего не знать об отправителе, но отправитель начинает зависеть от доступности получателя и сделать множество получателей становится сложнее.
Существует ли шина\боркер\оркестратор, который может совмещать оба подхода:
1)
Получаель выстывляет REST API и ничего не знает об
отправителе
2)
Отправитель вызывает REST эндпоинт
оркестратора
3)
Окрестратор вызывает REST эндпоинты
получателей, а в случае их недоступности повторяет вызов через некоторое время
4)
Окрестратор сам считает количество повторов и выбрасывает сообщение в случае невозможности доставки через N повторов
5) На стороне
окрестратора можно настроить сохраннеие последовательности вызовов
6) (опционально) На стороне
оркестратора можно выполнить преобразование тела и заголовков запроса по простым правилам
7)
Оркестратор может в высокую доступность
8) Оркестратор умеет работать с разными схемами аутентификации HTTP как для входящих вызовов, так и исходящих
9) Настраивается
оркестратор без программирования на языке высокого уровня, но возможно написание плагинов.
Что-то похожее на biztalk\SAP PI, только лековесное и желательно опенсорсное.
Существует такое? Или я слишком много хочу?