В статье разберём, почему timeout не позволяет однозначно определить результат бизнес‑операции и как безопасно обрабатывать такие ситуации.
Представим ситуацию:
-
Наша система отправляет внешней системе запрос «Создать платёж на 50 000 ₽»
POST /payments -
Внешняя система получает запрос и создаёт платёж
-
Внешняя система отправляет ответ о созданном платеже
-
При отправке ответа происходит ошибка и он не доходит до нашей системы
-
Наша система не получает ответ в установленное время и фиксирует timeout
Можно ли повторить запрос на создание платежа?

