Узнал пару недель назад, что почти все стандартные операции обозваны паттернами:

  1. Timeout: не надо ждать ответа бесконечно.
  2. Deadline: вместо относительного таймаута делать абсолютный, чтобы цепочка вызовов работала адекватно. См. также про токены отмены.
  3. Retry: можно тупо попробовать еще раз.
  4. Circuit Breaker: вставляем прокси перед целевым сервисом, считаем ошибочные запросы. Если их много, то даем ошибку сразу, не спрашивая целевой, в течение какого-то периода.
  5. Fallback: если не получили ответ, придумываем его сами.

А если копнуть глубже, то паттернов устойчивости гораздо больше.