API Gateway , uygun mikro servise yönelik 𝗿𝗼𝘂𝘁𝗶𝗻𝗴 isteklerine odaklanırken, Load balancer, bir grup backend serverında eşit şekilde 𝗱𝗶𝘀𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗻𝗴 requestlerine odaklanır.
API Gateway ve Load Balancer, gelen requestleri yönetmek ve bir sistemin performansını artırmak için bir bilgisayar ağında kullanılabilen altyapı türleridir. Ancak, farklı şekillerde çalışırlar ve farklı amaçlara hizmet ederler.
Load Balancing,
- Bilinen tek bir IP adresine gönderilen requestleri handle etmek ve trafiği birden çok backend servera dağıtmak için kullanılan bir kavramdır. Backend serverlar arasında etkili bir trafik yönlendirme algoritması kullanan load balancerlar, dinamik trafik ihtiyaçları genelinde backend layerın performansının ve resiliency korunmasını sağlar.
- Çalışan bir hizmetin kullanılabilirliğini belirlemek için health checks kullanan load balancerlar, müşterileri requestlerini tüm unhealty downstreamden yalıtır. Yani amaç Performasn ve Availabilityi sağlamak.
Api Gateway
- Bir dizi micro servis için tek bir giriş noktası görevi gören bir sunucudur.(server)
- Client requestlerini alır, bunları uygun mikro servislere iletir ve responseyi clienta döndürür.
- API Gateway routing, authentication ve rate limit gibi görevlerden sorumludur. Böylece micro servislerin kendi işlerine odaklanmasını sağlar ve sistemin genel performansını ve ölçeklenebilirliğini arttırır..
𝗥𝗼𝘂𝘁𝗶𝗻𝗴: API Gateway , Clientlardan requestleri alır ve bunları uygun mikro hizmete yönlendirir. Böylece clientlar çeşitli micro servisler için tek bir giriş noktası üzerinden erişim sağlar ve sistemi basitleştirilmiş olur.
𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻: API Gateway , Clientların kimliğini doğrulamak ve mikro servisler için erişim denetimi policyleri uygulamak için kullanılabilir. Böylece sadece yetkili clientlar mikro servislere erişebilmesini sağlamaya ve yetkisiz erişimi önlemeye yardımcı olur.
𝗥𝗮𝘁𝗲 𝗹𝗶𝗺𝗶𝘁𝗶𝗻𝗴: Bir API Gateway ile mikro servislere client erişimini sınırlayabilirsiniz. Böylece sürekli request gönderme saldırılarını ve diğer kötü niyetli davranış türlerini önlemeye yardımcı olabilir.
𝗟𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗶𝗻𝗴: API Gateway, Gelen requestleri bir mikro servisin birden çok intancesi arasında dağıtarak sistemin daha fazla sayıda requesti işlemesini sağlar ve genel performansını ve ölçeklenebilirliğini geliştirir.
𝗖𝗮𝗰𝗵𝗶𝗻𝗴: Mikro servislerden gelen responseleri cache alarak mikro servislere gelen requestlerin sayısını azaltır ve sistemin genel performansını iyileştirir.
𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴: Requestlerle ve responselerla ilgili metrikleri ve diğer verileri toplayarak mikro servislerin performansına ve davranışına ilişkin değerli içgörüler sağlayabilir.Böylece sorunları tanımlamaya ve teşhis etmeye ve sistemin genel güvenilirliğini ve dayanıklılığını geliştirmeye yardımcı olabilir.
Gerçek Dünya Senaryosu
Bir Mikroservis Mimarisi düşünelim:
-
Load Balancer, trafik yükünü birden fazla API Gateway'e bölebilir.
-
API Gateway, kimlik doğrulama ve yönlendirme işlemlerini yaparak, trafiği ilgili mikroservislere dağıtabilir.
Yani Load Balancer, genel sistem trafiğini yönetirken; API Gateway, API'lerin daha akıllı bir şekilde yönetilmesini sağlar.
API Gateway, mikroservis mimarisinde kullanıcı isteklerinin güvenli, hızlı ve etkin bir şekilde yönetilmesini sağlar. İstemcilerle mikroservisler arasındaki tüm işlemlerin tek bir noktadan yönetilmesi, güvenlik, izleme ve performans gibi alanlarda büyük avantajlar sunar. API Gateway’in sağladığı güvenlik ve yük dengeleme gibi özellikler, mikroservis mimarisinin karmaşıklığını azaltırken, sistemin daha ölçeklenebilir ve yönetilebilir olmasını sağlar. Ancak, API Gateway yapısını dikkatli planlamak ve ölçeklenebilir bir çözüm seçmek bu yapının performansını ve güvenilirliğini artıracaktı
Backend For Frontend
BFF ve API Gateway Arasındaki Farklar
API Gateway ve BFF, her ne kadar istemciler ve mikroservisler arasındaki veri akışını düzenlemek için kullanılan katmanlar olsa da, temel işlevleri ve uygulama alanları farklıdır:
API Gateway, tüm mikroservisler için tek bir giriş noktası sunar. Güvenlik, yük dengeleme ve genel veri dönüşüm işlemlerini gerçekleştirir.
BFF ise, her bir istemci türü için özel olarak yapılandırılmış backend işlevselliği sağlar. Her istemciye özgü iş mantığı, veri dönüşümü ve güvenlik politikaları BFF üzerinden yönetilir.
Bu iki yapı bir arada kullanılabilir. API Gateway, genel yönetim ve güvenlik sağlarken, BFF her istemciye özel iş mantığını üstlenir.
Hiç yorum yok:
Yorum Gönder