← Back to Blog
MIMARI

API Gateway Nedir?

F. Çağrı BilgehanFebruary 4, 202610 min read
api gatewaymikroservisbackendsistem tasarımı

API Gateway Nedir? Mikroservis Mimarisinin Kapısı

Mikroservis mimarisinde düzinelerce servis var. Kullanıcı her seferinde farklı bir servisle mi konuşacak? Elbette hayır. İşte burada API Gateway devreye girer — tüm isteklerin geçtiği tek kapı.

API Gateway Tanımı

API Gateway, istemci (web/mobil uygulama) ile backend servisleri arasında duran bir ara katmandır. Tüm gelen istekleri alır, doğru servise yönlendirir ve yanıtı istemciye döner.

İstemci (Web/Mobil)
        ↓
┌─────────────────────┐
│    API GATEWAY       │
│  - Authentication    │
│  - Rate Limiting     │
│  - Load Balancing    │
│  - Request Routing   │
└──────────┬──────────┘
     ↓     ↓     ↓
  Servis  Servis  Servis
    A       B       C

Neden API Gateway Kullanılır?

1. Tek Giriş Noktası

İstemci, düzinelerce servisin adresini bilmek zorunda kalmaz. Tek bir URL üzerinden tüm servislere erişir.

2. Authentication & Authorization

Kimlik doğrulama ve yetkilendirme merkezi olarak yapılır. Her servisin ayrı auth mantığı yazmasına gerek kalmaz.

3. Rate Limiting

API isteklerini sınırlandırarak DDoS saldırılarından ve aşırı kullanımdan korur.

4. Request/Response Dönüştürme

İstemcinin beklediği formata uygun yanıtlar oluşturur. Backend'deki birden fazla servisin yanıtını birleştirebilir.

5. Load Balancing

İstekleri birden fazla servis instance'ı arasında dağıtarak yükü dengeler.

6. Caching

Sık istenen verileri cache'leyerek backend yükünü azaltır ve yanıt sürelerini iyileştirir.

7. Monitoring & Logging

Tüm API trafiğini merkezi olarak izler, loglar ve analiz eder.

Popüler API Gateway Çözümleri

| Çözüm | Tür | Avantaj | Kullanım | |-------|-----|---------|----------| | Kong | Open Source | Eklenti ekosistemi | Genel amaçlı | | AWS API Gateway | Managed | AWS entegrasyonu | AWS ekosistemi | | Nginx | Open Source | Performans | Reverse proxy + gateway | | Traefik | Open Source | Docker/K8s entegrasyonu | Container ortamları | | Azure API Management | Managed | Enterprise özellikler | Azure ekosistemi | | Envoy | Open Source | Service mesh | İstio ile birlikte |

API Gateway Desenleri

Backend for Frontend (BFF)

Her istemci türü (web, mobil, IoT) için ayrı bir gateway:

Web App ──→ Web BFF ──→ Servisler
Mobil App ──→ Mobil BFF ──→ Servisler

Web uygulaması detaylı veri isterken, mobil uygulama daha az veri isteyebilir.

API Composition

Birden fazla servisin yanıtını tek bir yanıtta birleştirme:

İstemci: GET /user-dashboard

Gateway:
  → Kullanıcı Servisi: Profil bilgisi
  → Sipariş Servisi: Son siparişler
  → Bildirim Servisi: Okunmamış bildirimler

Yanıt: { profil, siparişler, bildirimler }

Gateway Offloading

Ortak görevleri (SSL termination, CORS, compression) servislere değil gateway'e yükleyerek servisleri sadeleştirme.

API Gateway vs Service Mesh

| Özellik | API Gateway | Service Mesh | |---------|------------|-------------| | Konum | Ağ kenarında | Servisler arasında | | Trafik | Kuzey-güney (dış→iç) | Doğu-batı (iç→iç) | | Odak | Dışa açık API yönetimi | Servisler arası iletişim | | Örnek | Kong, AWS API GW | Istio, Linkerd |

BilgeOne'da API Gateway

BilgeOne platformunda Next.js API Routes'u hafif bir gateway olarak kullanıyoruz:

  • Supabase RLS ile birlikte authentication
  • Rate limiting middleware
  • Sektör bazlı routing (restoran, otel, market)

Sonuç

API Gateway, mikroservis mimarisinin vazgeçilmez bir bileşenidir. Güvenlik, performans ve yönetilebilirlik sağlar. Ancak monolitik uygulamalarda çoğu zaman gereksizdir — karmaşıklığı haklı çıkaracak bir ölçeğe ulaştığınızda ekleyin.

API Gateway tasarımı ve mikroservis mimarisi hakkında daha fazla bilgi için Yazılım Mimarisi 3.0 kitabına göz atın.

Related Posts

Message Queue Nedir?

Message Queue nedir ve neden kullanılır?

Yazılım Mimarisi Nedir? Temelden İleri Seviyeye Kapsamlı Rehber

Yazılım mimarisi nedir, neden önemlidir ve nasıl öğrenilir?