Restate workflow фреймворк
Примерно 2 года назад я познакомился в проектом Temporal - оркестратором воркфлоу как код. Идея простая: если тебе нужно сделать отказоустойчивый, durable кусок бизнес логики, но ты не хочешь заниматься настройкой кафки и созданием своего оркестратора/саги, ты можешь просто использовать этот готовый фреймворк. Это было открытием для меня тогда.
У Temporal есть нюансы, минусы. Лично я считаю основным его минусом - high latency, который в целом можно пофиксить, но будет это костыльно (https://youtu.be/mTNUjZGTfZk?t=362). Чуть терпимее минус - магия в SDK на Go.
Недавно нашел хорошую альтернативу - Restate.dev. Пока что не сильно глубоко вдавался в то, как он работает, но все очень похоже. Основное отличие, которое бросается в глаза сразу - это отсутсвтие поллинга задач. Все задачи поступают с минимальной задержкой в воркеры и выполняются на столько быстро, на сколько это возможно, благодаря прямому запросу к воркеру от оркестратора. Думаю понятно, что это меняет всю архитектуру с ног