Docker’daki hizmet ağı, hizmet ağı teknolojilerinin Docker konteyner ortamlarında uygulanmasını ifade eder. Docker konteynerleri, hafif ve taşınabilir yapıları nedeniyle mikro hizmet tabanlı uygulamaları paketlemek ve dağıtmak için yaygın olarak kullanılır. Docker’daki bir hizmet ağı, sepet proxy örneklerini kullanarak Docker’lı mikro hizmetler arasındaki iletişimi yöneterek bu yetenekleri genişletir. Bu proxy’ler konteynerler arasındaki trafiği yakalar ve yöneterek hizmet keşfi, yük dengeleme, trafik yönlendirme, güvenlik politikaları (ortak TLS şifrelemesi gibi) ve gözlemlenebilirlik araçları gibi özellikler sağlar. Bu yaklaşım, Dockerlı mikro hizmet mimarileri içindeki iletişimin güvenilirliğini, güvenliğini ve görünürlüğünü artırır.
Hizmet ağı, karmaşık, dağıtılmış uygulamalar içindeki mikro hizmetler arasındaki iletişimin yönetimini geliştirmek için kullanılır. İletişim kaygılarını bireysel mikro hizmetlerden uzaklaştıran, hizmetten hizmete etkileşimler üzerinde merkezi kontrol ve görünürlük sunan özel bir altyapı katmanı sağlar. Hizmet ağları özellikle esneklik, ölçeklenebilirlik ve gözlemlenebilirlik gerektiren ortamlarda faydalıdır; dinamik yönlendirme, trafik bölme, devre kesme ve dağıtılmış izleme gibi özellikleri etkinleştirir. Geliştiriciler iletişim sorumluluklarını bir hizmet ağına devrederek, ağ oluşturma karmaşıklıklarına daha az, iş mantığına daha fazla odaklanabilirler.
Kubernetes ve hizmet ağı, mikro hizmet mimarisi içerisinde farklı rollere hizmet eder. Kubernetes, konteynerli uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştiren bir konteyner düzenleme platformudur. Hizmet keşfi, yük dengeleme ve sürekli güncellemeler gibi özellikler de dahil olmak üzere, konteynerlerin kümeler arasında dağıtılması ve yönetilmesi için temel yetenekler sağlar. Hizmet ağı ise Kubernetes veya diğer konteyner düzenleme platformları içindeki mikro hizmetler arasındaki iletişimi yönetmeye odaklanan özel bir altyapı katmanıdır. Kubernetes, konteyner yaşam döngüsünü ve düzenlemeyi yönetirken, hizmet ağı ise ağ trafiği yönetimini, güvenlik politikalarını ve mikro hizmet dağıtımlarında gözlemlenebilirliği yönetir.
Mikro hizmetler ve ağ, farklı kavramları ifade eder.
dağıtılmış sistemler. Mikro hizmet mimarisi, büyük, monolitik uygulamaları, her biri kendi iş mantığına ve veri deposuna sahip, daha küçük, bağımsız olarak dağıtılabilir hizmetlere ayrıştırır. Mikro hizmetler birbirleriyle ağ üzerinden iletişim kurar ve hizmet ağı, bu iletişimi yöneten özel bir altyapı katmanıdır. Mikro hizmetler arasında güvenilir ve verimli etkileşimi kolaylaştırmak için hizmet keşfi, yük dengeleme, esneklik modelleri (devre kesme ve yeniden denemeler gibi), güvenlik (ortak TLS gibi) ve gözlemlenebilirlik araçları (ölçümler ve izleme gibi) gibi özellikler sağlar.
Hizmet ağı, özellikle Istio, mikro hizmetleri bağlamak, güvenliğini sağlamak, kontrol etmek ve gözlemlemek için tasarlanmış açık kaynaklı bir hizmet ağı platformudur. Envoy proxy’sinin üzerine inşa edilen Istio, Kubernetes ve diğer orkestrasyon platformları içindeki mikro hizmet iletişiminin yönetimini geliştirir. Trafik yönlendirme, politika uygulama (erişim kontrolü ve hız sınırlama dahil), telemetri toplama (ölçümler, günlükler, izlemeler) ve hizmetten hizmete iletişim için karşılıklı TLS şifrelemesi gibi gelişmiş özellikler sağlar. Istio, mikro hizmet dağıtımlarını yönetmek ve güvence altına almak için kapsamlı bir çözüm sağlamak üzere Kubernetes ile entegre olur ve dağıtılmış mimarilerde güvenilirliği ve gözlemlenebilirliği artırır.