Ana içeriğe geç

API Gateway

Türkçe karşılığı
API ağ geçidi
Okunuşu
ey-pi-ay geytvey

Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/api-gateway

Kısaca

API gateway, bir grup backend servisinin önünde duran ve API isteklerini alan, kontrol eden ve yönlendiren tek giriş noktası görevi gören bir sunucudur.

API gateway nedir?

API gateway, birçok backend servisi için tek bir ön kapıdır. İstemciler her isteği gateway'e gönderir; gateway hangi dahili servisin isteği işleyeceğine karar verir, isteği iletir ve yanıtı geri döndürür. İstemcilerin arkasında kaç servis olduğunu ya da bunların nerede çalıştığını bilmesine gerek yoktur.

Gateway, yönlendirmenin yanı sıra kesitsel ilgileri de üstlenir; yani her servisin aksi halde kendisinin uygulaması gereken görevleri: kimlik doğrulama kontrolleri, rate limiting, TLS sonlandırma, loglama ve metrikler, önbellekleme ve bazen REST ile gRPC gibi protokoller arasında çeviri. Örnekler arasında Kong, Amazon API Gateway, Azure API Management, Apigee, Tyk ile NGINX ve Envoy üzerine kurulu gateway'ler bulunur.

Büyük bir ofis binasındaki resepsiyon masasını düşünün: ziyaretçiler koridorlarda doğru kişiyi aramak yerine tek bir masada giriş yapar, kimliklerini gösterir ve doğru kata yönlendirilir. API gateway'ler en çok mikroservis mimarilerinde yaygındır; orada tek bir uygulama ya da web sitesi aksi halde onlarca servisi doğrudan çağırmak zorunda kalırdı.

API gateway sıklıkla reverse proxy ya da load balancer ile karıştırılır. Reverse proxy istekleri backend sunuculara iletir ve load balancer trafiği aynı servisin kopyaları arasında dağıtır; API gateway ise kimlik doğrulama, API anahtarları ve istemci başına rate limit gibi özellikler ekleyen, API'ler için uzmanlaşmış bir reverse proxy'dir. Her istek gateway'den geçtiği için gateway'in yüksek erişilebilirliğe sahip olması gerekir; aksi halde tek bir hata noktası (single point of failure) haline gelir.

Bir bakışta

Bir tarayıcı ve bir mobil uygulama her isteği tek bir API gateway'e gönderir; gateway kimlik doğrulamayı kontrol eder, rate limit uygular ve her isteği yoluna göre yönlendirir: /users kullanıcı servisine, /orders sipariş servisine, /payments ödeme servisine.Dahili servisler/users/orders/paymentsTarayıcıMobil uygulamaAPI gatewaytek giriş noktasıKimlik doğrulamaRate limitingYola göre yönlendirmeKullanıcıservisiSiparişservisiÖdemeservisi
İstemciler yalnızca gateway'i bilir. Gateway ortak kontrolleri bir kez yapar ve her isteği doğru dahili servise gönderir.

Önemli noktalar

  • API gateway, birçok backend servisini çağıran istemciler için tek giriş noktasıdır.
  • Her isteği yoluna, host'una veya başlıklarına göre doğru servise yönlendirir.
  • Kimlik doğrulama, rate limiting, loglama ve TLS'i merkezileştirir.
  • Uzmanlaşmış bir reverse proxy'dir ve en çok mikroservis mimarilerinde yaygındır.
  • Tüm trafik üzerinden aktığı için ölçeklenmeli ve yüksek erişilebilirlikte olmalıdır.

Örnek

Bir gateway yapılandırmasında yönlendirme ve rate limiting (Kong)yaml
# One public entry point in front of two internal services
_format_version: "3.0"
services:
  - name: users-service
    url: http://users.internal:8080
    routes:
      - paths: ["/api/users"]
  - name: orders-service
    url: http://orders.internal:8080
    routes:
      - paths: ["/api/orders"]
plugins:
  # Applied to every route: at most 100 requests per minute per client
  - name: rate-limiting
    config: { minute: 100 }

Sık sorulan sorular

API gateway ile load balancer arasındaki fark nedir?

Load balancer, yükü paylaştırmak için trafiği aynı servisin birkaç kopyası arasında dağıtır. API gateway ise istekleri API yoluna göre farklı servislere yönlendirir, kimlik doğrulama ve rate limiting gibi özellikler ekler ve çoğu zaman load balancer'ların önünde durur.

API gateway ile reverse proxy arasındaki fark nedir?

API gateway bir tür reverse proxy'dir. Sade bir reverse proxy esas olarak trafiği iletir; API gateway ise API anahtarı kontrolleri, istemci başına rate limit'ler ve istek dönüştürme gibi API'ye özgü özellikler ekler.

API gateway'e ihtiyacım var mı?

Her zaman değil. Tek bir monolitik uygulama çoğu zaman kimlik doğrulama ve rate limiting'i kendisi halledebilir; ancak istemciler aksi halde birçok ayrı servisi doğrudan çağıracaksa gateway değerli hale gelir.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar