TGViewer
Человек и машина Человек и машина @manandthemachine · 1.69K subscribers
Post #766 1.93K
#машины_разное #деньги

Что-то катастрофически пошло не так в момент, когда сервисы стали показывать абсолютно бесполезное “Oops, something went wrong” в браузерах и мобильных приложениях.

Начнем с очевидного. Все эти бесполезные “Oops” прилетают, когда где-то в глубинах бизнес логики стреляет необработанное исключение. Логика у всех backend’ов для таких случаев тупа как пробка - тащим 5ХХ на самый вверх до клиента. Клиент видит “Oops”.

Backend тоже не лыком шит, от одной ошибки он складывать лапки не станет. Внутри этих ваших распределенных систем есть повторы, проверка контекста, DLQ и прочие механизмы обеспечения гарантированности транзакций. Ошибки же бывают retryable/повторяемые (пакет на сети потеряли, можем повторить) и nonretryable/неповторяемые (система лежит и не выкупает, что делать). Очевидно, когда надо использовать то или иное.

Проблемы могут быть и внешними, например, запросы к поставщикам. И вот тут мякотка.

Допустим, поставщик принес вам неприятный ответ, который вы не смогли обработать. Вы, конечно же, стреляете 500-ыми, ответ с ошибкой идет вплоть до клиента, клиент видит “Я не шмогла, попробуй еще попозже”. Вот это “попробуй еще попозже” называется user retryable, т.е. бекэнд как бы не смог обработать, что там ему поставщик брякнул, но поставщик проспится и все будет хорошо.

Вроде все круто, да?

А что если та ошибка, которую вернули клиенту, неповторяемая? Например, наш поставщик VISA вернул нам ошибку, что карта устарела или банковский счет заблокирован. Мы не умеем корректно обрабатывать такие отбивки и отправляем клиенту наверх 500-ый. Клиент пробует снова, но счета от таких повторов не разблокируются, а срок годности карточек не продлевается. Более того, можно еще и за abuse отхватить.

VISA, кстати, за попытки повторить невалидные транзакции штрафует коммерсанта. Коммерсант страдает, но клиент-то ни сном, ни духом и жмякает да жмякает кнопочку “оплатить”. И ловит, да ловит “Упс, самфин вент вронг” и бомбит. А коммерсант за это пенни штрафные платит.

К чему я это все? Возвращайте нормальные ошибки клиентам, пожалуйста.
  • 👍 35
  • ❤ 3
More from @manandthemachine
  1. Jan 17, 2026#прощальное Вы могли заметить, что из канала исчезли комменты, а чат был удален. Подробнее…
  2. Dec 31, 2025#новогоднее Если бы мне пришлось охарактеризовать 2025-ый год одним единственным словом, я…
  3. Oct 24, 2025#машины_aws Пожалуй, лучший инцидент, что я когда либо видел. Если вкратце: 1. Управление…
  4. Sep 30, 2025#машины_разное Моя любимая рубрика «Разработчики СУБД знают лучше». Вы наверняка помните,…
  5. Sep 26, 2025#пятничное Инженер-программист Шивам Баларани рассеянно смотрел в монитор. Через блеклый и…
  6. Sep 24, 2025Вот это я конечно не попал в лимиты телеграма. 🤦‍♂️
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →