Продвинутый
Как работает паттерн Distributed Tracing (Распределенная трассировка)?
В микросервисах один HTTP-запрос от пользователя может вызвать цепочку из 10 внутренних вызовов между сервисами. Если запрос тормозит, как найти виновника?
Распределенная трассировка (Jaeger, Zipkin, OpenTelemetry):
1. На входе в систему (API Gateway) запросу присваивается уникальный Trace ID.
2. Этот Trace ID передается в HTTP-заголовках от сервиса к сервису.
3. Каждый сервис отправляет в систему мониторинга свои "спаны" (Spans) — отрезки времени, потраченные на работу.
4. В интерфейсе строится визуальный граф (Gantt chart), где видно: Сервис А работал 10мс, Сервис Б — 5мс, а запрос в БД внутри Сервиса В занял 800мс (вот оно, узкое место!).