Асинхронность в sequence

Sequence-диаграмма может выглядеть вполне логично. Но если на ней не показано, что вызов асинхронный, то команда может сделать фатальные ошибки.

🧨 Ситуация: Ты рисуешь: Service A → Service B: отправить email клиенту Service B → Service A: подтверждение Выглядит просто: A вызывает B, B отвечает. Но вот реальность: • B кладёт сообщение в очередь • письмо уйдёт через 2 секунды • иногда через 30 секунд, а иногда никогда (dead-letter) • но Service A уже продолжает логику, будто всё успешно

💥 В результате: • бизнес думает, что письмо точно ушло • пользователь ничего не получил • команда “ищет баг” в другом месте • у тебя красивая диаграмма, но она соврала

✅ Что делать: • Пиши async в названии стрелки (хотя бы так) • Помечай “через очередь / Kafka / webhook / cron” • Уточняй поведение: “нет ответа”, “возможен дубликат”, “ожидание не блокирует” • Отмечай возможное время задержки ответа

repost

51

input message

напишите коммент

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь