Service Mesh (Istio/Linkerd): Karmaşık Mikroservis Ağlarını Yönetme

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Top Poster Of Month
Katılım
7 Ocak 2026
Mesajlar
234
Tepkime puanı
2
Puanları
18
Mikroservis mimarisine geçiş yaptığınızda, servis sayısı arttıkça aralarındaki iletişim tam bir kabusa dönüşebilir. Hangi servis hangisiyle konuşuyor? Neden bazı istekler zaman aşımına uğruyor? Servisler arası trafik şifreli mi? Bu soruların cevabını kod yazarak vermek yerine, altyapı seviyesinde çözmek için Service Mesh (Servis Ağı) katmanı kullanılır.

Service Mesh, uygulamalarınızın koduna dokunmadan; gözlemlenebilirlik, güvenlik ve trafik yönetimi özelliklerini ekleyen bir altyapı katmanıdır.

Service Mesh Nasıl Çalışır? (Sidecar Modeli)​


Service Mesh yapısında, her mikroservis konteynerının yanına bir "Sidecar" (yolcu sepeti) proxy yerleştirilir. Genellikle Envoy tabanlı olan bu proxy'ler, tüm giriş-çıkış trafiğini kontrol eder.

  • [] Data Plane (Veri Düzlemi): Servislerin yanındaki proxy'lerdir. Trafiği yönlendirir ve filtreler. [] Control Plane (Kontrol Düzlemi): Proxy'lerin nasıl davranacağını yöneten, politikaları dağıtan merkezi beyindir.

Service Mesh Neden Gerekli? Temel Özellikler​


  • [] Trafik Yönetimi: A/B testleri, Canary deployment veya Blue-Green geçişleri için trafiği yüzdesel olarak bölebilirsiniz. [] Güvenlik (mTLS): Servisler arası tüm iletişimi otomatik olarak karşılıklı TLS (mTLS) ile şifreler. [] Gözlemlenebilirlik: Hangi servisin ne kadar gecikme (latency) yaşadığını ve hata oranlarını anlık görebilirsiniz. [] Resilience (Dayanıklılık): Bir servis hata verdiğinde otomatik "Retry" (tekrar dene) veya "Circuit Breaker" (devre kesici) özelliklerini devreye sokar.

Istio vs. Linkerd: Hangi Mesh Sizin İçin Uygun?​


Piyasadaki en popüler iki çözüm olan Istio ve Linkerd arasındaki farkları inceleyelim:

ÖzellikIstioLinkerd
KarmaşıklıkYüksek (Öğrenme eğrisi diktir).Düşük (Kur ve çalıştır).
PerformansKaynak tüketimi daha fazladır.Çok hafif ve hızlıdır (Rust ile yazılmıştır).
Özellik SetiÇok zengin (Hemen her şeyi yapabilir).Daha kısıtlı ama temel ihtiyaçları karşılar.
KurulumKarmaşık konfigürasyonlar gerektirir.Saniyeler içinde hazır olur.

Örnek Uygulama: Istio ile Trafik Yönlendirme​


Aşağıdaki basit YAML dosyası ile trafiğin %90'ını eski sürüme (v1), %10'unu yeni sürüme (v2) nasıl aktaracağınızı görebilirsiniz:

YAML:
 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: forum-route spec: hosts:

    forum-service http:

    route:

        destination: host: forum-service subset: v1 weight: 90

        destination: host: forum-service subset: v2 weight: 10

Ne Zaman Service Mesh Kullanmalısınız?​


Service Mesh her projenin ihtiyacı değildir. Eğer sadece 3-5 adet mikroservisiniz varsa, Service Mesh getirdiği karmaşıklık ve kaynak maliyeti nedeniyle "overkill" (aşırı) olabilir. Ancak;

  • [] 20+ üzerinde mikroservisiniz varsa, [] Servisler arası güvenlik (Zero Trust) zorunluysa,
  • Hata ayıklama (Debugging) süreçleri ağ karmaşıklığı yüzünden çok uzuyorsa,
Service Mesh kullanmanın zamanı gelmiş demektir.

Sonuç​


Service Mesh, modern bulut yerlisi altyapıların "görünmez kahramanıdır". Ağ yönetimini uygulama kodundan ayırarak, yazılımcıların sadece iş mantığına odaklanmasını, sistem yöneticilerinin ise ağı güvenle yönetmesini sağlar.
 
Geri
Üst