API gateway (API ağ geçidi) nedir ve ne işe yarar?
Sözlük

API gateway (API ağ geçidi) nedir ve ne işe yarar?

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

API gateway nedir? İstekleri tek noktadan yönlendiren, kimlik doğrulama ve hız sınırlama yapan bu katmanın işleyişini ve örnek akışını öğrenin.

API gateway nedir?

API gateway (API ağ geçidi), istemcilerin arka uç servislerine eriştiği tek giriş noktasıdır; isteği yönlendirir ve kimlik doğrulama, hız sınırlama, izleme gibi ortak işleri servislerin önünde merkezi olarak üstlenir. Bir mobil uygulama, web sitesi ya da iş ortağı sisteminin her servisle ayrı ayrı konuşması yerine tek bir adrese istek göndermesini sağlar.

Özellikle mikroservis mimarilerinde yaygındır: onlarca küçük servis varsa istemcilerin hepsinin adresini, kimlik doğrulama yöntemini ve sürüm farklarını bilmesi sürdürülemez. Gateway bu karmaşıklığı istemciden gizler.

Nasıl çalışır?

İstek şu yolu izler: • İstemci isteği gateway adresine gönderir. • Gateway kimliği doğrular ve yetkiyi kontrol eder. • İstek hız sınırına ve politikalara göre denetlenir. • Yol ve kurallara göre doğru arka uç servise yönlendirilir. • Gerekirse isteği ya da yanıtı dönüştürür, birden çok servisten gelen yanıtı birleştirir. • Yanıt istemciye döner ve istek kaydı izleme sistemine yazılır.

Gateway genellikle service (hizmet), route (yönlendirme kuralı) ve upstream (arka uç hedefi) gibi kavramlarla yapılandırılır; ürünlere göre adlar küçük farklar gösterebilir.

Başlıca görevleri

  • Yönlendirme: İsteği doğru servise iletir.
  • Kimlik doğrulama ve yetkilendirme: Anahtar, belirteç ya da OAuth gibi yöntemlerle erişimi kontrol eder.
  • Hız sınırlama ve kota: Aşırı ya da kötü niyetli kullanımı engeller.
  • Önbellekleme: Tekrarlanan isteklerin yükünü azaltır.
  • Gözlemlenebilirlik: Günlük, ölçüm ve izleme verisi üretir.
  • Sürümleme: Servisin farklı sürümlerini ayrı yollardan sunar.
  • Güvenlik: Geçersiz istekleri arka uca ulaşmadan keser.

Küçük bir örnek

Örneğin bir perakende uygulamasında sipariş, stok ve kullanıcı servisleri ayrıdır. Mobil uygulama yalnızca gateway adresine istek gönderir. Gateway belirteci doğrular, sipariş isteğini sipariş servisine, ürün sorgusunu stok servisine iletir. Bir iş ortağına verilen erişim anahtarı yalnızca belirli yollara izin verir ve hız sınırı uygulanır. Servislerden biri taşındığında istemci hiçbir değişiklik yapmaz; yalnızca gateway kuralı güncellenir.

Benzer kavramlardan farkı

Ters vekil sunucu (reverse proxy) istekleri arka uca iletir; API gateway bunun üstüne API'ye özgü politikalar, kimlik doğrulama, kota ve geliştirici portalı gibi yönetim yetenekleri ekler. Yük dengeleyici trafiği aynı servisin kopyaları arasında dağıtır; gateway ise farklı servisler arasında yönlendirme yapar. Servis ağı (service mesh) servisler arası iç trafiği yönetir, gateway ise dış trafiğin giriş kapısıdır.

Dikkat edilecek noktalar

Gateway tek giriş noktası olduğundan hata durumunda tüm trafik etkilenir; bu yüzden yüksek erişilebilirlik ve izleme gerekir. İş mantığının gateway'e yığılması da yanlıştır, bu katman ince tutulmalıdır. Ayrıca fazladan bir atlama ekleyerek gecikmeye az da olsa katkıda bulunur.

Mindset programlarında nerede işlenir?

API Tasarımı ve Yönetimi programında API gateway ve portal yönetimi bir modüldür. Kong ile API Gateway İşletimi programı mimariyi, service-route-upstream yapılandırmasını ve trafik eklentilerini; Amazon API Gateway ile Sunucusuz API Yayınlama programı ise bulut tabanlı yaklaşımı ele alır.

İlgili Mindset programı

API Tasarımı ve Yönetimi

Sık sorulanlar

Sık sorulan sorular

API gateway ile yük dengeleyici aynı şey mi?

Hayır. Yük dengeleyici aynı servisin birden çok kopyası arasında trafiği dağıtır. API gateway ise farklı servislere yönlendirme yapar ve kimlik doğrulama, kota, dönüşüm gibi API politikalarını uygular. İkisi birlikte kullanılabilir. Gateway ile servislerin kendi yük dağıtımı farklı katmanlardır ve çoğu mimaride iki katman da bulunur; her biri farklı bir sorunu çözer.

Her mikroservis mimarisinde API gateway gerekir mi?

Zorunlu değildir. Az sayıda servis varsa ve istemci sayısı sınırlıysa doğrudan erişim de mümkündür. Servis ve istemci sayısı arttıkça, ortak güvenlik ve politika ihtiyacı gateway'i anlamlı hâle getirir. Karar verirken ekip büyüklüğü, istemci çeşitliliği ve güvenlik gereksinimleri birlikte değerlendirilir; basit bir sistemi gereksiz bir katmanla karmaşıklaştırmamak önemlidir.

API gateway güvenliği tek başına sağlar mı?

Hayır. Giriş noktasında önemli bir koruma katmanıdır, ancak servislerin kendi yetkilendirmesi, ağ ayrımı ve veri koruması da gerekir. Gateway savunmanın bir halkasıdır, tüm savunma değildir. Bu nedenle güvenlik tasarımında gateway kontrolleri, servis içi doğrulama ve ağ düzeyindeki ayrımlar birlikte planlanır; hiçbiri tek başına yeterli sayılmaz.

Bulutta yönetilen gateway mi, kendi kurduğum mu?

Yönetilen hizmet kurulum ve bakım yükünü azaltır ve bulut servisleriyle kolay bütünleşir. Kendi işlettiğiniz çözüm ise esneklik ve ortam bağımsızlığı sağlar ama operasyon sorumluluğu getirir. Seçim ekibin yetkinliğine ve ortam gereksinimine bağlıdır. Bulut hizmetleri ölçekleme ve bakım yükünü sağlayıcıya aktarır; ancak sağlayıcıya bağımlılık ve maliyet yapısı karar sırasında göz önüne alınmalıdır.

API Gateway Nedir? Ne İşe Yarar, Nasıl Çalışır