Api Gateway Nedir?

            API GATE WAY NEDİR ?

   Özellikle mikroservis mimarisinin trendiyle monolitik uygulamalar yerini birbirleriyle konuşan onlarca hatta yüzlerce servisten oluşan yapılara bıraktı. Sistemin onlarca veya yüzlerce servise bölünmesi, getirdiği kolaylıkların yanısıra farklı gündemleri de ortaya çıkardı. Özellikle mikroservis mimarisi için konuşursak, uygulamalarımızı bir çok servise böldüğümüzü ve herbir servisin kendi databaseini oluşturduğumuzu varsayalım. Mikroservis mimarisinin en belirgin özelliğini yerine getirmiş olduk. Peki mikroservis mimarimiz tam anlamıyla tamamlandı mı? Tabiki de hayır.. Bu servislerin authorizationının ve authenticationunun nasıl yapılacağı, bu kadar çok servisin nasıl bir yapıda monitor edileceği, ortak configurasyonların nasıl yönetileceği, requestin nasıl trace edileceği buınarın hepsi mikroservis mimarisi adına düşünülmesi gereken şeyler. Konuyu dallandırıp budaklandırmadan, bizim bu konseptlerden şuan için ilgilendiğimiz kısmına dönelim.

Apı gate wayin çıkış noktası da tam olarak budur. Muhtemelen dış dünyadan mikrservislerle iletişim kurmanın en belirgin yaklaşımı bir API gateway’e sahip olmaktır.. Eğer ki clientların servislerimize ellerini kollarını sallayarak girmelerini istemiyorsak, öncesinde bir entry point olmasını ve buradan geçmelerini istiyorsak API gateway kullanabiliriz. API gatewayin birçok işlevi olmasının yanı sıra temel işlevi clienttan requestleri alıp onları uygun servislere yönlendirmektir. Bir requestle arkada birden çok servis çağırıp sonuçları toplayıp dönebilir.api gateway ile ilgili görsel sonucu

API GATEWAY İLE NELER YAPILABİLİR?

  • Authentication – Authorization : Servislerimize tek giriş noktası api gatewayimiz olacağından bu servislerin authentication ve authorizationunu api gateway üzerinden yapabiliriz. Konuya değinmişken Authentication ve Authorization kavramlarını kısaca tekrar hatırlatacak olursak. Authenctication Kimlik Doğrulama yani kimin uygulama-servislere erişebileceği , authorization ise yetkilendirme yani ulaştıktan sonra içeride neler yapabileceği yani nelere yetkisi olacağıdır.
  • Logging : Api gateway üzerinden tüm servislerimize gelen request ve responseları kimin caller’ına kadar loglayabiliriz.
  • Response Caching  : API gateway üzerinden enpointlerinizin responselarını cachleyebilirsiniz. Böylece, endpointe giden call sayısını düşürebiliriz.
  • Routing : API gateway ile clienti ilgili routelara yönlendirebiliriz.api gateway ile ilgili görsel sonucu

Yukarıdaki maddelere ihtiyaçlara göre maddeler ekleyebilir ve çeşitledirilebiliriz. Genel olarak API GATEWAY’ın neler yapacağını tanımlamak istersek servislerimizdeki cross-cutting concernleri api gateway üzerinden yönetebiliriz diyebiliriz.

Apigateway’in Avantajları

  • Clientları, uygulamanın microservislere nasıl bölündüğü hususunda düşünmekten izole eder.
  • Sizin microservisleriniz sizin ana domainler ile yazdığınız microservislerdir. Bu servisleri kullanarak client için en uygun apiyi API GATEWAY üzerinden hazırlayıp sunabilirsiniz.
  • Request/ Response sayısını azaltır. Örneğin, API Gateway, müşterilerin tek bir request-response ile birden fazla servisten data almalarını sağlar. Daha az istek, daha az ek yük anlamına gelir ve kullanıcı deneyimini geliştirir.
  • Authenctication, Autherization, Logging, Security, Routing gibi cross cutting concern kavramları tek elden yönetebilmeyi sağlar.

Apigateway’in Dezavantajları

  • API networkü üzerine bir ek katman koyarak yanıt süresinin artmasına sebep olabilir.  Ancak çoğu uygulama için fazladan bir gidiş dönüş maliyeti önemsizdir.
  • Increased Complexity – API gateway  development’i, deploy’u ve maintenance’ı gereken ayrı bir projedir.
  • Single entry point of failure : Api gatewayler iç microservis dünyanıza giriş yapılan tek kapı olduğundan çöktüğü zaman bir anda tüm sistem aksaklığa uğrayabilir.

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir