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.
İlgili Terimler
Kubernetes, konteynerle çalışan servisleri çoklu sunucu üzerinde dağıtma, ölçekleme, güncelleme ve iyileştirme için yönetir.
MicroserviceMikro hizmet mimarisi, büyük uygulamayı bağımsız geliştirilen, dağıtılan ve ölçeklenen küçük servisler halinde tasarlar.
Karşılıklı TLS (mTLS)mTLS, TLS bağlantısında hem sunucunun hem istemcinin sertifika ile kimliğini doğruladığı karşılıklı güvenlik modelidir.