
Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки. Особенно если взаимодействие происходит по сети.
При этом некоторые типы компонентов обязаны быть устойчивы к временным сбоем, которые могут случаться в их среде. Они должны иметь возможность повторять запросы или восстанавливать соединения. Собственно, для этого и существует паттерн программирования Retry.