> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Gateway

> API Gateway (API Ağ Geçidi), Apinizer platformunun Data Plane (Veri Düzlemi) katmanında yer alan ve API trafiğinin işlendiği, yönlendirildiği ve politikaların uygulandığı ana bileşendir. İstemci isteklerini karşılayan, güvenlik politikalarını uygulayan, trafiği yöneten ve backend API'lere yönlendiren yüksek performanslı bir bileşendir.

## API Gateway Kavramı

<CardGroup cols={2}>
  <Card title="Yüksek Performans" icon="gauge">
    Düşük gecikme ve yüksek throughput
  </Card>

  <Card title="Güvenlik" icon="shield">
    Authentication, Authorization, mTLS
  </Card>

  <Card title="Trafik Yönetimi" icon="route">
    Load balancing, rate limiting, failover
  </Card>

  <Card title="Ölçeklenebilirlik" icon="arrows-up-down">
    Yatay ölçeklendirme desteği
  </Card>
</CardGroup>

## API Gateway Bileşenleri

<AccordionGroup>
  <Accordion title="İstek Karşılama">
    * İstemci isteklerini karşılama
    * TLS/SSL sonlandırması
    * Request parsing ve validation
  </Accordion>

  <Accordion title="Policy Enforcement">
    * Pre-flow politikaları uygulama
    * Conditional politikaları değerlendirme
    * Post-flow politikaları uygulama
  </Accordion>

  <Accordion title="Routing">
    * Upstream Target seçimi
    * Load balancing uygulaması
    * Failover mekanizması
  </Accordion>
</AccordionGroup>

### Worker Modülleri

<CardGroup cols={2}>
  <Card title="Ortam İzolasyonu" icon="layer-group">
    Her Worker bir ortama aittir
  </Card>

  <Card title="Yatay Ölçeklendirme" icon="arrows-up-down">
    Birden fazla Worker ile ölçeklendirme
  </Card>

  <Card title="Yüksek Erişilebilirlik" icon="heart-pulse">
    Worker'lar arası yük dengeleme
  </Card>

  <Card title="Bağımsız Çalışma" icon="server">
    Worker'lar bağımsız çalışır
  </Card>
</CardGroup>

### Local Cache

<CardGroup cols={2}>
  <Card title="Konfigürasyon Cache" icon="gear">
    Management API üzerinden yüklenen konfigürasyonlar

    API Proxy konfigürasyonları ve ayarları.
  </Card>

  <Card title="Policy Cache" icon="shield">
    Politika tanımları

    Tüm politika tanımları ve yapılandırmaları.
  </Card>

  <Card title="Token Cache" icon="key">
    OAuth2/JWT token'ları

    Token doğrulama sonuçları ve token bilgileri.
  </Card>

  <Card title="Metadata Cache" icon="info-circle">
    API Proxy metadata bilgileri

    API Proxy bilgileri ve routing metadata.
  </Card>
</CardGroup>

<Info>
  **Distributed Cache Erişimi:**

  API Gateway, throttling, quota ve OAuth2 token gibi paylaşılan veriler için Distributed Cache (Hazelcast) kullanır. Cache Server'lar Gateway pod'larından farklı Kubernetes namespace'lerinde çalışabilir. Gateway pod'ları diğer namespace'lerdeki cache sunucularına Kubernetes service discovery kullanarak erişebilir (örn: `http://cache-http-service.apinizer-cache.svc.cluster.local:8090`). Bu, daha esnek bir altyapı yönetimi sağlar. Distributed Cache hakkında daha fazla bilgi için [Önbellek Bileşeni](/tr/concepts/temel-bilesenler/onbellek-bileseni) sayfasına bakın.
</Info>

### Token Provider API

<CardGroup cols={3}>
  <Card title="Token Generation" icon="plus-circle">
    Access token ve refresh token üretimi

    OAuth2 ve JWT token'ların oluşturulması.
  </Card>

  <Card title="Token Validation" icon="check-circle">
    Token doğrulama

    Token'ların geçerliliğinin kontrol edilmesi.
  </Card>

  <Card title="Token Revocation" icon="trash">
    Token iptal etme

    Token'ların iptal edilmesi ve geçersiz kılınması.
  </Card>
</CardGroup>

## API Gateway Özellikleri

### Güvenlik

<CardGroup cols={2}>
  <Card title="Authentication" icon="key">
    * OAuth2 / OIDC
    * JWT
    * Basic / Digest Authentication
    * mTLS
  </Card>

  <Card title="Authorization" icon="lock">
    * IP Whitelist/Blacklist
    * API Key kontrolü
    * Role-based Access Control
  </Card>

  <Card title="TLS/SSL" icon="shield-halved">
    * TLS/SSL sonlandırması
    * SNI desteği
    * Certificate yönetimi
  </Card>

  <Card title="Data Protection" icon="eye-slash">
    * Data masking
    * Encryption
    * PII protection
  </Card>
</CardGroup>

### Trafik Yönetimi

<AccordionGroup>
  <Accordion title="Load Balancing">
    * Round Robin
    * Least Connections
    * Weighted Round Robin

    <Tip>
      Load balancing stratejileri hakkında detaylı bilgi için [Routing ve Upstream](/tr/concepts/temel-kavramlar/routing-ve-upstream#load-balancing-strategies) sayfasına bakabilirsiniz.
    </Tip>
  </Accordion>

  <Accordion title="Rate Limiting">
    * API bazlı rate limiting
    * Kullanıcı bazlı rate limiting
    * IP bazlı rate limiting
    * Quota yönetimi
  </Accordion>

  <Accordion title="Failover">
    * Otomatik failover
    * Health check
    * Circuit breaker
  </Accordion>
</AccordionGroup>

### Mesaj İşleme

<CardGroup cols={2}>
  <Card title="Transformation" icon="wand-magic-sparkles">
    * JSON ↔ XML dönüştürme
    * Message enrichment
    * Field mapping
  </Card>

  <Card title="Validation" icon="check-circle">
    * JSON Schema validation
    * XML Schema validation
    * Message size validation
  </Card>

  <Card title="Routing" icon="route">
    * Conditional routing
    * Content-based routing
    * Version-based routing
  </Card>

  <Card title="Logging" icon="file-lines">
    * Request/Response logging
    * Audit logging
    * Error logging
  </Card>
</CardGroup>

## API Gateway ve API Manager İlişkisi

API Gateway, API Manager'dan konfigürasyon alır ve trafiği işler. İşleyiş akışı:

```
API Manager (Control Plane)
   │
   │ 1. Konfigürasyon Yönetimi
   │ 2. Deployment
   │
   ▼
API Gateway (Data Plane)
   │
   │ 3. Local Cache'e Yükleme
   │ 4. İstek Karşılama
   │ 5. Trafik İşleme
   │ 6. Metrik Gönderme
   │
   ▼
Backend API / Client
```

<CardGroup cols={3}>
  <Card title="1. Konfigürasyon" icon="gear">
    API Manager'da API Proxy konfigürasyonu yapılır

    Tüm yapılandırmalar merkezi olarak yönetilir.
  </Card>

  <Card title="2. Deployment" icon="rocket">
    Konfigürasyon API Gateway'lere deploy edilir

    Yapılandırmalar tüm gateway'lere dağıtılır.
  </Card>

  <Card title="3. Cache" icon="memory">
    API Gateway konfigürasyonu Local Cache'e yükler

    Performans için yerel önbelleğe alınır.
  </Card>

  <Card title="4. İstek" icon="arrow-right">
    İstemci istekleri API Gateway'e gelir

    Client istekleri gateway'e yönlendirilir.
  </Card>

  <Card title="5. İşleme" icon="cog">
    API Gateway konfigürasyonu kullanarak trafiği işler

    Politikalar uygulanır ve routing yapılır.
  </Card>

  <Card title="6. Metrikler" icon="chart-bar">
    Metrikler API Manager'a gönderilir

    Performans ve kullanım metrikleri toplanır.
  </Card>
</CardGroup>

<Info>
  API Manager ve API Gateway arasındaki bu işbirliği, merkezi yönetim ve yüksek performanslı trafik işleme arasında denge sağlar.
</Info>

## API Gateway Performans Özellikleri

<CardGroup cols={2}>
  <Card title="Düşük Gecikme" icon="clock">
    * Optimize edilmiş request handling
    * Local cache kullanımı
    * Async processing
  </Card>

  <Card title="Yüksek Throughput" icon="gauge">
    * Non-blocking I/O
    * Connection pooling
    * Efficient resource usage
  </Card>

  <Card title="Ölçeklenebilirlik" icon="arrows-up-down">
    * Yatay ölçeklendirme
    * Auto-scaling
    * Load balancing
  </Card>

  <Card title="Yüksek Erişilebilirlik" icon="heart-pulse">
    * Failover mekanizması
    * Health check
    * Redundancy
  </Card>
</CardGroup>

## Sonraki Adımlar

<CardGroup cols={2}>
  <Card title="API Manager" icon="gear" href="/tr/concepts/temel-bilesenler/api-manager">
    API Manager bileşenini öğrenin
  </Card>

  <Card title="Teknik Mimari" icon="diagram-project" href="/tr/concepts/mimari">
    Teknik Mimari yapıyı öğrenin
  </Card>

  <Card title="Routing ve Upstream" icon="route" href="/tr/concepts/temel-kavramlar/routing-ve-upstream">
    Routing ve upstream kavramlarını öğrenin
  </Card>

  <Card title="Mesaj İşleme ve Politika Uygulama" icon="shield" href="/tr/concepts/temel-kavramlar/mesaj-isleme-ve-politika-uygulama">
    Mesaj işleme akışını öğrenin
  </Card>
</CardGroup>
