- 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 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.
Piyasadaki en popüler iki çözüm olan Istio ve Linkerd arasındaki farkları inceleyelim:
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:
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;
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.
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:
| Özellik | Istio | Linkerd |
|---|---|---|
| Karmaşıklık | Yüksek (Öğrenme eğrisi diktir). | Düşük (Kur ve çalıştır). |
| Performans | Kaynak 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. |
| Kurulum | Karmaşı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,
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.