1. Отрицание — дергаем что надо по HTTP с ретраями.
  2. Гнев — переходим на асинхронные сообщения.
  3. Торг — Transactional Outbox решит же большую часть проблем, да?
  4. Депрессия — 100% надежность не достижима, все равно что-то может сломаться. Но сделаем хотя бы идемпотентно, чтобы ретраить было проще.
  5. Принятие — ладно, сделаем еще сагу, чтобы хотя бы следить, какие шаги сделаны в рамках процесса.

по мотивам