Comments 2
Уровень погружения в систему - уровень -бог.
Вы бы лучше рассмотрели пример попроще: у вас клиент в Сайгоне с карточки наличные снимает, а вам надо платеж где нибудь В Москве обработать, а поскольку транзакция в долларах, то он соответсвенно должен через Американский банк пройти.
Удачи вам с timeout….
Распишите архитектуру …
Спасибо за пример. В статье я намеренно рассматривала упрощённый сценарий взаимодействия двух систем, чтобы разобрать конкретную проблему: timeout не всегда позволяет определить результат бизнес-операции и поэтому требует отдельно продумать retry, идемпотентность и reconciliation.
Сценарий со снятием наличных в другой стране и последующими межсистемными и валютными расчётами требует уже отдельного разбора всей цепочки участников и их контрактов. Это интересный кейс, но он не противоречит тезису статьи: отсутствие ответа само по себе не позволяет сделать вывод о результате бизнес-операции.
Если вы видите ошибку именно в этом тезисе или в предложенных механизмах обработки, то было бы интересно обсудить её предметно.
Сервис не ответил. Операция провалилась? Почему timeout не означает, что операция не выполнилась