Teknik Detaylar

API Gateway Nedir? Ne İşe Yarar?

← Teknik Detaylar
2021-07-24 ~ 2022-05-11 · 3 dk okumaRead in English →
API Gateway Nedir? Ne İşe Yarar?
Bu yazıyı yapay zekâ ile tartış
Sayfayı kopyala

Mikroservis mimarilerinin ve dağıtık sistemlerin yaygınlaşmasıyla birlikte, istemcilerin (web, mobil, IoT) onlarca farklı servisle doğrudan konuşması yerine tüm isteklerin tek bir kapıdan geçmesi standart bir mimari haline geldi. İşte bu noktada devreye API Gateway giriyor.

💡 Özet (TL;DR):

  • API Gateway Nedir? İstemciler ile arka uçtaki (backend) mikroservisler arasında duran, tüm istekleri karşılayan ve ilgili servislere yönlendiren bir giriş kapısıdır.
  • Temel Görevleri: Yönlendirme (Routing), kimlik doğrulama (Authentication), istek sınırlandırma (Rate Limiting), önbelleğe alma (Caching) ve yük dengelemedir (Load Balancing).
  • Avantajı: Mikroservislerin her birine ayrı ayrı güvenlik ve izleme kodları yazmak yerine, bu ortak işlevleri en önde tek bir noktada çözerek kod tekrarını önler.

API Gateway Çalışma Mantığı

Bir API Gateway, istemcilerden gelen istekleri karşılayan gelişmiş bir ters vekil sunucusu (reverse proxy) gibi çalışır. İsteklerin arka uç servislerine yönlendirilme sürecini görselleştirelim:

API Gateway akış şeması: İstemci → API Gateway (Auth, Rate Limit, SSL) → Kullanıcı/Sipariş/Ürün servisleri


Neden Bir API Gateway Kullanmalısınız?

Büyük ölçekli ve mikroservis tabanlı bir mimari inşa ediyorsanız, API Gateway kullanmak size şu avantajları sağlar:

  1. Güvenlik ve Sınırlandırma (Rate Limiting): API'nizi kötü niyetli veya olağan dışı kullanımlara karşı korumanız gerekir. İstek sınırlandırma (Rate Limiting) ve kimlik doğrulama (Auth) işlemlerini her mikroservis içinde ayrı ayrı kodlamak yerine, kapıda tek bir noktada çözebilirsiniz. Örneğin; stok bilgilerini sunan servisiniz sadece kendi işine odaklanır, yetkilendirmeyle uğraşmaz.
  2. Protokol Dönüştürme (Protocol Translation): İstemci tarafı sunucuyla standart REST (HTTP/JSON) formatında konuşurken, API Gateway arkadaki mikroservislerle yüksek performanslı gRPC veya WebSockets üzerinden haberleşebilir.
  3. Sürüm Yönetimi ve Yönlendirme (Routing): Zamanla API versiyonlarını değiştirmek (v1'den v2'ye geçiş) veya bazı servisleri tamamen kaldırmak gerekebilir. API Gateway sayesinde istemciler hiçbir URL değişikliği yapmadan arka plandaki servis yönlendirmelerini dinamik olarak yönetebilirsiniz.
  4. Önbelleğe Alma (Caching): Sıkça sorgulanan ama seyrek değişen verileri API Gateway seviyesinde önbelleğe alarak, istekleri arka uçtaki veritabanı veya servislerinize hiç yük bindirmeden doğrudan kapıdan yanıtlayabilirsiniz.

Popüler API Gateway Çözümleri

AraçLisans / ModelBarındırmaÖne Çıkan Özellik
KongAçık Kaynak / EnterpriseKendi Sunucunuz (Self-hosted)Çok hızlı (Lua/Nginx tabanlı), geniş eklenti kütüphanesi
Apigee (Google Cloud)Ücretli (SaaS)Bulut (Cloud-managed)Gelişmiş analitik, faturalandırma ve API pazaryeri yönetimi
AWS API GatewayKullandığın Kadar ÖdeBulut (AWS-native)AWS Lambda ve diğer AWS servisleriyle kusursuz entegrasyon
KrakenD / OcelotAçık KaynakKendi SunucunuzÇoklu servis yanıtlarını tek bir JSON'da birleştirme (Aggregation)

Sıkça Sorulan Sorular (FAQ)

Nginx gibi bir Reverse Proxy ile API Gateway arasındaki fark nedir?

Nginx temel olarak HTTP isteklerini yönlendirme, yük dengeleme ve statik dosya sunumu (reverse proxy) işlerinde çok başarılıdır. API Gateway ise bunun üzerine uygulama katmanı mantığı ekler; API anahtarı yönetimi, kullanıcı yetkilendirmesi, dinamik eklentiler (plugins) ve API kullanım analitiği gibi daha akıllı işlevler sunar.

API Gateway tek hata noktası (SPOF - Single Point of Failure) yaratır mı?

Evet, tüm istekler tek bir kapıdan geçtiği için API Gateway çökerse tüm sistem durur. Bu riski önlemek için API Gateway sunucularının önünde bir Load Balancer (Yük Dengeleyici) kullanılarak gateway'ler yedekli (cluster/high-availability) olarak çalıştırılmalıdır.

Küçük/Monolitik projelerde API Gateway kullanılmalı mı?

Genellikle hayır. Tek bir monolitik uygulamanız varsa API Gateway eklemek mimariyi gereksiz yere karmaşıklaştırır ve fazladan ağ gecikmesi (network latency) yaratır. Doğrudan sunucuya bağlanmak veya basit bir Nginx yönlendirmesi kullanmak daha doğrudur.


Resmi Bağlantılar ve Referanslar

Bu Yazıda Yapılan Değişiklikler
  • 20.06.2026: Yazı içeriği modern mikroservis standartları doğrultusunda güncellendi. Mermaid mimari akış diyagramı, popüler API Gateway araçları karşılaştırma tablosu, Reverse Proxy farkları, SPOF çözümleri ve LLO geliştirmeleri eklendi.
  • 11.05.2022: Yazı özeti düzenlendi.