Dağıtık İzleme (Distributed Tracing) Nedir?

İngilizce: Distributed Tracing

Dağıtık izleme, bir isteğin mikroservisler arasında geçtiği adımları trace kimliğiyle takip ederek gecikme ve hata kaynağını gösterir.

Dağıtık İzleme (Distributed Tracing) Nedir?

Dağıtık izleme, tek bir kullanıcı isteğinin birden fazla servis, kuyruk, veritabanı ve harici API arasında nasıl ilerlediğini uçtan uca gösterir. Klasik loglar her servisin kendi penceresini açar; trace ise bu pencereleri aynı istek kimliği altında birleştirir.

Temel yapı trace ve span kavramlarından oluşur. Trace tüm isteğin yolculuğudur; span ise ödeme servisi çağrısı, veritabanı sorgusu veya kargo API isteği gibi tek bir adımı temsil eder. Trace context HTTP header’ları veya mesaj metadata’sı ile taşınır. OpenTelemetry, bu veriyi toplamak ve farklı gözlemlenebilirlik araçlarına göndermek için yaygın bir standarttır.

Ne İşe Yarar?

Dağıtık mimaride “checkout yavaş” demek yeterli değildir; yavaşlığın stok servisinden mi, ödeme sağlayıcısından mı, veritabanından mı geldiğini görmek gerekir. Microservice sistemlerde distributed tracing, gecikme zincirini ve hata yayılımını görünür kılar.

Üretimde her isteği saklamak maliyetli olabilir; bu yüzden sampling, hassas veri maskeleme ve izleme saklama süresi dikkatli ayarlanır. Tracing tek başına tüm cevabı vermez, fakat metrikler ve loglarla birlikte observability pratiğinin en güçlü sinyallerinden biridir.