Service Mesh Nedir?

İngilizce: Service Mesh

Service mesh, mikroservisler arası trafiği proxy katmanıyla yöneten; mTLS, gözlemlenebilirlik, yönlendirme ve politika sağlayan altyapıdır.

Service Mesh Nedir?

Service mesh, mikroservislerin birbirleriyle konuşmasını uygulama kodundan ayırıp özel bir ağ katmanına taşıyan yaklaşımdır. Servisler yine HTTP, gRPC veya benzeri protokollerle haberleşir; ancak trafik çoğu zaman sidecar proxy veya node seviyesinde çalışan proxy’ler üzerinden geçer.

Bu proxy katmanı, servis koduna tekrar tekrar eklenmesi zor olan ağ davranışlarını merkezi şekilde yönetir: şifreli servisler arası iletişim, retry, timeout, load balancing, canary routing, rate limit ve ayrıntılı trafik metrikleri.

Nasıl Çalışır?

  • Data plane: Servislerin yanında çalışan proxy’ler gerçek trafiği taşır.
  • Control plane: Proxy kurallarını, sertifikaları ve trafik politikalarını dağıtır.
  • mTLS: Servisler arası kimlik doğrulama ve şifreleme sağlar.
  • Traffic policy: Canary release, A/B yönlendirme veya circuit breaking uygulanabilir.
  • Telemetry: İstek süresi, hata oranı ve servis bağımlılıkları izlenir.

İş Dünyasında Kullanımı

Service mesh, çok sayıda microservice olan ve ekiplerin bağımsız dağıtım yaptığı sistemlerde anlam kazanır. Örneğin ödeme, stok, kargo ve bildirim servisleri arasındaki trafiği gözlemlemek ve kademeli sürüm geçişi yapmak için kullanılabilir.

Bu katman küçük sistemlerde gereksiz karmaşıklık yaratabilir. Kubernetes ortamında Istio veya Linkerd gibi araçlar güçlüdür; ancak sertifika yönetimi, kaynak tüketimi, debug süreci ve ekip yetkinliği hesaba katılmadan eklenmemelidir.