Zipkin: открытая система распределенного трейсинга от Twitter

Zipkin: открытая система распределенного трейсинга от Twitter. Состоит из сервера (хранилище + UI) и клиентов. Spring Cloud Sleuth имеет интеграцию: если включить зависимость spring-cloud-sleuth-zipkin, приложение будет посылать собранные спаны на Zipkin Server (по умолчанию на http://localhost:9411) в фоновом режиме
spring.io. Zipkin Server можно быстро запустить: скачав jar zipkin.jar или через Docker, он хранит данные либо в памяти, либо в Elasticsearch/MySQL (в продуктиве). В Zipkin UI вы можете выбрать нужный Trace по id или отфильтровать по сервисам/меткам. Он отображает временную диаграмму: оси – микросервисы, по горизонтали – время. Видно, сколько мс запрос провел в OrderService, потом параллельно Payment и Inventory дернулись, Payment вызвал внешнюю систему и ждал 300 мс, и т.д. Это очень ценно для анализа производительности: легко обнаружить, что, скажем, 80% времени запроса уходит в внешнюю платежную систему – узкое место. Также помогает в отладке: если traceId известен из логов ошибки, в Zipkin можно найти этот trace и увидеть всю цепочку вызовов, какие статусы были, на каком шаге была ошибка (Zipkin помечает эроспаны).

Zipkin работает по принципу push: приложения шлют ему данные (Sleuth делает POST на /api/v2/spans). Есть альтернативы: Jaeger (CNCF, от Uber) – Sleuth может слать в него (через OpenTracing или OpenTelemetry Bridge), OpenTelemetry Collector – новый стандарт, Sleuth 3.x может через OTLP. Но на 2025 Spring еще поддерживает Brave/Zipkin как встроенный.
Автор: к.п.н., Румянцев Сергей Александрович, доцент Финансового университета при Правительстве РФ; доцент ОЧУВО Международного инновационного университета; Консалтинг, управление разработкой ПО; системный и бизнес анализ; менеджмент; аналитиз данных; управление ИТ. Телефон для связи +79269444818 (мессенджеры)   Короткая ссылка:
Zipkin: открытая система распределенного трейсинга от Twitter. Состоит из сервера (хранилище + UI) и клиентов. Spring Cloud Sleuth имеет интеграцию: если включить зависимость spring-cloud-sleuth-zipkin, приложение будет посылать собранные спаны на Zipkin Server (по умолчанию на http://localhost:9411) в фоновом режиме
spring.io. Zipkin Server можно быстро запустить: скачав jar zipkin.jar или через Docker, он хранит данные либо в памяти, либо в Elasticsearch/MySQL (в продуктиве). В Zipkin UI вы можете выбрать нужный Trace по id или отфильтровать по сервисам/меткам. Он отображает временную диаграмму: оси – микросервисы, по горизонтали – время. Видно, сколько мс запрос провел в OrderService, потом параллельно Payment и Inventory дернулись, Payment вызвал внешнюю систему и ждал 300 мс, и т.д. Это очень ценно для анализа производительности: легко обнаружить, что, скажем, 80% времени запроса уходит в внешнюю платежную систему – узкое место. Также помогает в отладке: если traceId известен из логов ошибки, в Zipkin можно найти этот trace и увидеть всю цепочку вызовов, какие статусы были, на каком шаге была ошибка (Zipkin помечает эроспаны).

Zipkin работает по принципу push: приложения шлют ему данные (Sleuth делает POST на /api/v2/spans). Есть альтернативы: Jaeger (CNCF, от Uber) – Sleuth может слать в него (через OpenTracing или OpenTelemetry Bridge), OpenTelemetry Collector – новый стандарт, Sleuth 3.x может через OTLP. Но на 2025 Spring еще поддерживает Brave/Zipkin как встроенный.
https://webprogr.ru/~Nws6a
Короткая ссылка на новость:https://webprogr.ru/~Nws6a


Последние новости

Zipkin: открытая система распределенного трейсинга от Twitter

Zipkin: открытая система распределенного трейсинга от Twitter. Состоит из сервера (хранилище + UI) и клиентов. Spring Cloud Sleuth имеет интеграцию: если включить зависимость spring-cloud-sleuth-zipkin, приложение будет посылать собранные спаны на Zipkin Server (по умолчанию на http://localhost:9411) в фоновом режиме
spring.io. Zipkin Server можно быстро запустить: скачав jar zipkin.jar или через Docker, он хранит данные либо в памяти, либо в Elasticsearch/MySQL (в продуктиве). В Zipkin UI вы можете выбрать нужный Trace по id или отфильтровать по сервисам/меткам. Он отображает временную диаграмму: оси – микросервисы, по горизонтали – время. Видно, сколько мс запрос провел в OrderService, потом параллельно Payment и Inventory дернулись, Payment вызвал внешнюю систему и ждал 300 мс, и т.д. Это очень ценно для анализа производительности: легко обнаружить, что, скажем, 80% времени запроса уходит в внешнюю платежную систему – узкое место. Также помогает в отладке: если traceId известен из логов ошибки, в Zipkin можно найти этот trace и увидеть всю цепочку вызовов, какие статусы были, на каком шаге была ошибка (Zipkin помечает эроспаны).

Zipkin работает по принципу push: приложения шлют ему данные (Sleuth делает POST на /api/v2/spans). Есть альтернативы: Jaeger (CNCF, от Uber) – Sleuth может слать в него (через OpenTracing или OpenTelemetry Bridge), OpenTelemetry Collector – новый стандарт, Sleuth 3.x может через OTLP. Но на 2025 Spring еще поддерживает Brave/Zipkin как встроенный.
Рейтинг@Mail.ru