« Tüm yayınlar

Netflix, Binlerce Mikroservisi Gerçek Zamanlı Haritalayan Service Topology'yi Anlattı

Netflix, binlerce mikroservis arasındaki bağımlılıkları gerçek zamanlı gösteren Service Topology sistemini anlattı. eBPF, uygulama katmanı ve trace verilerini birleştiren mimariyi inceliyoruz.

Netflix mühendisleri, kritik bir servis arıza verdiğinde bağımlılıkları hızlıca anlamanın ne kadar zor olduğunu fark etti; mevcut metrik, log ve trace araçları sistemin yalnızca parçalarını gösteriyor, tam bağlantı haritasını sunmuyordu. Bu boşluğu kapatmak için ekip, Service Topology adında canlı bir bağımlılık haritası geliştirdi. Amaç, hangi servislerin birbirine bağlı olduğunu, bir arızanın etki alanını ve sorunun kaynağının nerede olduğunu saniyeler içinde yanıtlamaktı.

Dört yıllık destek taleplerini analiz eden Netflix, mühendislerin sürekli benzer sorular sorduğunu gördü: yukarı/aşağı akış bağımlılıkları, bakım sırasında etkilenecek servisler, metriklerde 'bilinmeyen' görünen servisler ve son değişikliklerin etkisi. Bu tekrarlayan ihtiyaçlar, gerçek zamanlı güncellenen, saniyenin altında yanıt veren ve ağ ile uygulama katmanını birlikte gösteren bir sistem tasarlamaya yönlendirdi.

Çözüm, üç bağımsız veri kaynağından üç ayrı topoloji grafiği oluşturmaya dayanıyor: eBPF ile toplanan ağ akışları, uygulama katmanı IPC verisi ve trace tabanlı istek grafiği. Her katman fiziksel olarak ayrı depolanıyor ve bağımsız sorgulanabiliyor; birleşik görünüm istendiğinde bu üç katman paralel olarak taranıp sonuçlar birleştiriliyor. Bu tasarım, tek bir kaynağın asla tam resmi vermeyeceği fikrine dayanıyor ve büyük ölçekte hem doğruluk hem de hız sağlıyor.

Mühendislik açısından bu yaklaşım, dağıtık sistemlerde gözlemlenebilirlik tasarımına dair önemli dersler sunuyor: gerçek zamanlılık, ölçeklenebilirlik, mevcut araçlarla entegrasyon ve veri kalitesinin önceliklendirilmesi. Netflix ölçeğinde çalışan bir sistem tasarlarken bu prensipler, benzer sorunlarla boğuşan diğer mühendislik ekipleri için de yol gösterici olabilir.