servis ağı ne demek?

Servis Ağı (Service Mesh) Hakkında

Servis ağı (service mesh), mikroservis mimarilerinde servisler arasındaki iletişimi yönetmek, güvenliğini sağlamak ve gözlemlemek için kullanılan bir altyapı katmanıdır. Uygulama koduna herhangi bir değişiklik yapmadan, servisler arası iletişimi daha güvenilir, hızlı ve kolay yönetilebilir hale getirmeyi amaçlar. Temelde, her bir servis yanında çalışan vekil sunucular (proxy) aracılığıyla çalışır. Bu vekil sunucular, servis ağı kontrol düzlemi tarafından yönetilir.

Temel Bileşenler ve İşlevler:

  • Veri Düzlemi (Data Plane): Servisler arasındaki tüm trafiği yöneten vekil sunuculardan (proxy'lerden) oluşur. Bu vekil sunucular, genellikle Envoy veya Linkerd gibi yüksek performanslı proxy'lerdir. Temel görevleri şunlardır:
    • Trafik Yönlendirme: İstekleri doğru servise yönlendirir.
    • Yük Dengeleme: Servisler arasındaki yükü dengeli bir şekilde dağıtır.
    • Servis Keşfi: Servislerin yerlerini otomatik olarak bulur.
    • Güvenlik: Kimlik doğrulama, yetkilendirme ve şifreleme gibi güvenlik önlemlerini uygular.
    • Gözlemlenebilirlik: Metrikleri, günlükleri ve izlemeleri toplar.
  • Kontrol Düzlemi (Control Plane): Veri düzlemini yapılandıran ve yöneten merkezi bir bileşendir. Kontrol düzlemi, servislerin nasıl iletişim kurması gerektiği, hangi politikaların uygulanacağı ve hangi metriklerin toplanacağı gibi kuralları tanımlar. Popüler kontrol düzlemi çözümleri arasında Istio ve Consul bulunur.

Servis Ağının Avantajları:

  • Gelişmiş Güvenlik: Servisler arası iletişimi şifreleyerek ve kimlik doğrulama/yetkilendirme mekanizmaları uygulayarak güvenliği artırır.
  • Kolaylaştırılmış Gözlemlenebilirlik: Detaylı metrikler, günlükler ve izlemeler sağlayarak servislerin performansını ve davranışını anlamayı kolaylaştırır.
  • Akıllı Yük Dengeleme: Daha karmaşık yük dengeleme stratejileri (örneğin, ağırlık tabanlı yük dengeleme, oturum bağlılığı) uygulayarak performansı optimize eder.
  • Hata Toleransı: Otomatik yeniden deneme, devre kesici ve limit belirleme gibi mekanizmalarla servislerin daha dayanıklı olmasını sağlar.
  • Merkezi Yönetim: Tüm servisler arası iletişimi tek bir yerden yönetme imkanı sunar.
  • Bağımsız Teknoloji: Servisler farklı programlama dillerinde yazılmış olsa bile sorunsuz bir şekilde birlikte çalışabilir.
  • Güvenlik: Kimlik Doğrulama ve Yetkilendirme gibi özellikler ile iletişimi güvenli hale getirir.
  • Yük Dengeleme: Servisler arasındaki yükü dengeli bir şekilde dağıtır.
  • Servis Keşfi: Servislerin yerlerini otomatik olarak bulur.
  • Mikroservis Mimarisi için önemli bir altyapı bileşenidir.

Kullanım Alanları:

  • Mikroservis mimarisine sahip uygulamalar
  • Bulut tabanlı uygulamalar
  • Yüksek trafikli ve kritik uygulamalar

Özet:

Servis ağı, modern mikroservis uygulamalarının karmaşıklığıyla başa çıkmak için güçlü bir araçtır. Servisler arasındaki iletişimi daha güvenilir, yönetilebilir ve gözlemlenebilir hale getirerek geliştirme ve operasyon ekiplerine büyük faydalar sağlar.