Я бы порекомендовал Cadence Workflow , который является гораздо более мощным решением для оркестровки микросервисов и обеспечивает распространение обработки исключений при длительных операциях из коробки.
Он предлагает множество других преимуществ по сравнению с использованием очередей для вашего варианта использования.
- Построен экспоненциальный повтор с неограниченным интервалом истечения
- Поддержка длительных операций сердцебиения
- Возможность реализации сложных задачных зависимостей. Например, реализовать цепочку вызовов или логику компенсации в случае неисправимых сбоев ( SAGA )
- Обеспечивает полную видимость текущего состояния обновления. Например, при использовании очередей все, что вы знаете, если в очереди есть несколько сообщений, и вам нужна дополнительная БД для отслеживания общего прогресса. С Cadence каждое событие записывается.
- Возможность отмены обновления в полете.
См. презентацию , которая охватывает модель программирования Cadence.