Отказ от ответственности: я технический лидер Cadence Workflow . Но я знаю кое-что о Flink и Airflow :).
Было бы довольно сложно реализовать оркестровку с помощью Flink. Причина в том, что Flink - это решение для потоковой обработки, которое оптимизировано для очень быстрой обработки каждого запроса. Оркестровка должна иметь дело с медленными запросами или сервисами, которые долгое время не работают. Flink не поддерживает такие сценарии из коробки. Он также моделирует обработку в виде статического графа, в то время как оркестровка часто является очень динамичным конечным автоматом.
Воздушный поток также основан на статическом графе. Так что он не очень подходит для сложных сценариев, которые не вписываются в его парадигму DAG. Еще более серьезная проблема с Airflow - его очень ограниченная масштабируемость. Вот почему я никогда не слышал, чтобы его использовали для оркестрации сервисов за пределами плоскости управления конвейера данных, где масштабируемость на самом деле не нужна.
Рабочий процесс Cadence с самого начала создавался как очень динамичная и легко масштабируемая система оркестрации. В Uber и за его пределами существует множество сценариев использования сервисов с высокой пропускной способностью, которые зависят от Cadence. Например, каждый раз, когда кто-то нажимает кнопку «Tip Driver» в приложении Uber, запускается рабочий процесс Cadence, который управляет транзакцией.