#microservices #elastic-stack #spring-cloud-sleuth #zipkin #distributed-tracing
#микросервисы #elastic-stack #spring-cloud-sleuth #zipkin #распределенная трассировка
Вопрос:
Spring Cloud Sleuth используется для создания идентификаторов трассировки (уникальных для запросов во всех сервисах) и spanId (одинаковых для одного устройства для работы). Моя идея заключается в том, что сервер Zipkin используется для коллективной визуализации этих журналов по всему сервису. Но я знаю и использовал ELK stack, который обязательно выполняет ту же функцию. Я имею в виду, что мы можем группировать запросы с одним и тем же идентификатором трассировки для визуализации, используя ELK stack. Но я вижу людей, пытающихся реализовать распределенную трассировку с помощью Sleuth, ELK вместе с Zipkin, как в этих примерах (Link1,Link2). Но зачем нам нужен Zipkin, если уже есть ELK для сбора журналов и визуализации? Чего я не понимаю?
Комментарии:
1. Официальные документы Zipkin — Zipkin — это распределенная система отслеживания. Это помогает собирать временные данные, необходимые для устранения проблем с задержкой в сервисных архитектурах. Это визуализация вашего запроса-ответа и отслеживание его. ELK stack используется для распределенного ведения журнала. Сервер Zipking предоставляет наглядную информацию о вашем запросе-ответе и сроках, в то время как Kibaana в ELK предоставляет наглядную информацию о централизованном ведении журнала — где-нибудь, где вы можете прочитать журналы
2. Как выглядит панель управления Zipkin: (первый пример)[ scalyr.com/blog/zipkin-tutorial-distributed-tracing /] , Приведите второй пример и официальную страницу Zipkin
3. Пример панели управления Kibana Да, у ELK есть и другие функции, но официальные документы являются отправной точкой
4. Бесплатный Elastic APM охватывает трассировку, аналогичную Zipkin и другим инструментам, и связывает их вместе с остальной частью ELK / Elastic Stack в едином решении.
5. Карта функциональных сервисов не является бесплатной в Elastic APM, но она бесплатна в Zipkin.
Ответ №1:
Фактически, вы можете использовать ELK для распределенной трассировки, настроив его на сбор и индексирование данных трассировки и span из вашего сервиса. Но для этого требуется больше ручной настройки по сравнению с использованием специализированной системы трассировки, такой как Zipkin.
Zipkin предоставляет специализированную функциональность для распределенной трассировки и поддерживает открытые стандарты, которые упрощают интеграцию с другими системами и сервисами.