Microservice Mimarisinde API Gateway Nedir?
Merhaba,
Bu içeriğimizde microservice mimarisiyle tasarlanan uygulamalarda clientların parçalı servislere doğrudan erişerek karmaşıklığın ve daha da önemlisi güvenlik ile ilgili risklerin meydana gelmesini engellemek için bir cephe misali öncü görevi gören API yapılanması olan API Gateway üzerine konuşuyor olacağız.
Nedir bu API Gateway?
Son yıllarda duymaya alıştığımız internet of things(nesnelerin interneti) olayının artması üzerine, kullanılan API’ların yönetiminden doğan zorluklara karşı Amazon Web Service tarafından getirilen çözümdür.
Özellikle microservice yapılanmalarında kullanılan kompleks servislerin clientlara karşı tek elden açılmasını sağlayan ve böylece giriş paragrafında da değindiğimiz gibi bir cephe niteliğinde olan bir API’dır. Clientlar bu API üzerinden güvenlik ve yetkilendirme kontrollerinden geçerler ve hedefteki microservice’i API Gateway aracılığıyla tetikleyerek sonuç alırlar.
API Gateway, client ile sıkı bağlı(tightly coupled) bir bağ yarattığı için eleştirilir ancak avantajları bu dezavantajı ciddi manada gölgelemekte olduğundan bu durum göz ardı edilebilmektedir.
API Gateway’in temel işlevi clienttan isteği alıp uygun servise iletmesidir.
API Gateway İle Neler Yapılabilir?
- Authentication ve Authorization
İşlevsel sorumluluğu parça parça üstlenen servislere erişim api gateway üzerinden dolaylı yolla olacağından dolayı kimlik ve yetki doğrulama operasyonlarını sadece api gateway’de yapılandırılabilir. - Logging
Servislere yapılan istekler hakkında detaylı loglamalar gerçekleştirilebilir ve böylece hangi servis, kim tarafından, ne kadar yoğunlukta işlevsellik gösteriyor vs. gibi istatistiksel bilgiler edinilebilir. - Response Caching
API gateway üzerinden servislere gelen talepler neticesinde üretilen çıktıları cacheleyebilir ve böylece servis maliyetleri düşürülebilir. - Routing
Servislerin adreslerini farklı şekilde kapsüllenebilir ve bu kapsül üzerinden clientlar ilgili esas routelara yönlendirilebilir.
Yukarıdaki maddelere baktığımızda API Gateway ile yazılımda problemlerin ve işlevsel operasyonların yapıldığı esas kod merkezlerinin dışında kalan ve problem alanından bağımsız kısımları ilgilendiren cross cutting concern ismi verilen alanları ve işlemleri yönetebildiğimizi görebilmekteyiz.
Peki API Gateway’in Avantaj ve Dezavantajları Nelerdir?
Avantajları | Dezavantajları |
---|---|
|
|
İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…
kısa öz. eline sağlık
Teşekkür ederim. Faydalandıysanız ne mutlu…
Teşekkürler.
Mikroservisleri derinlemesine ogrenmeye karar verdim ilk aklima gelen kaynak bu oldu tesekkurler hocam