[인프라] Zipkin 이란?

참고


개요

  • Zipkin 은 분산 추적 시스템입니다.
  • 서비스 아키텍처의 대기 시간 문제를 해결하는데 필요한 타이밍 데이터를 수집하는데 도움이 됩니다.
  • 기능에는 이 데이터의 수집 및 조회가 모두 포함됩니다.
  • 로그 파일에 추적 ID 가 있는 경우 해당 ID로 직접 이동할 수 있습니다.
  • 그렇지 않으면 서비스, 작업 이름, 태그 및 기간과 같은 속성을 기반으로 쿼리할 수 있습니다.
  • 서비스에 소요된 시간의 백분율 및 작업 실패 여부와 같은 몇 가지 관심 있는 데이터가 요약됩니다.

  • Zipkin UI는 또한 얼마나 많은 추적된 요청이 각 애플리케이션을 통과했는지 보여주는 종속성 다이어그램을 제공합니다.
  • 이는 더 이상 사용되지 않는 서비스에 대한 호출 또는 오류 경로를 포함한 집계 동작을 식별하는 데 도움이 될 수 있습니다.

  • 추적 데이터를 Zimkin 에 보고하려면 애플리케이션을 "계측" 해야 합니다.
  • 이것은 일반적으로 추적 프로그램 또는 계측 라이브러리의 구성을 의미합니다.
  • Zipkin에 데이터를 보고하는 가장 인기 있는 방법은 HTTP 또는 Kafka 를 통하는 것이지만, Apache ActiveMQ, gRPC 및 RabbitMQ 와 같은 다른 옵션도 많이 있습니다.

Zipkin LICENSE


Zipkin 구조

  • 전체적은 구조는 다음과 같습니다.


지원 프로토콜

  • Zipkin 으로 추적할 수 있는 분산 트랜잭션은 HTTP 를 기본으로 지원하고, 이외에도 많이 사용되는 리모트 프로토콜인 gRPC 를 함께 지원합니다.

참고로 C# 은 gPRC 지원 안되고, HTTP 프로토콜만 지원 됩니다.


클라이언트 라이브러리


스토리지

  • Zipkin 클라이언트 SDK 에 의해서 전송된 정보는 스토리지에 저장됩니다.
  • 사용할 수 있는 스토리지는 다음과 같습니다.
    • In-Memory
    • MySQL
    • Cassandra
    • Elastic Search
728x90

'인프라' 카테고리의 다른 글

[인프라] Loki 란?  (0) 2022.08.19
[Infra] OpenTelemetry 및 Prometheus 연동하기  (0) 2022.08.19
[인프라] Jaeger, OpenTelemetry, Grafana 연동  (0) 2022.07.31
[인프라]Jaeger 란?  (0) 2022.07.30

이 글을 공유하기

댓글

Designed by JB FACTORY