Системный аналитик · 31.05
Асинхронность в 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” • Уточняй поведение: “нет ответа”, “возможен дубликат”, “ожидание не блокирует” • Отмечай возможное время задержки ответа
еще контент автора
еще контент автора
Системный аналитик · 31.05
войдите, чтобы увидеть
и подписаться на интересных профи