API Gateway
API Gateway Kavramı
Düşük gecikme ve yüksek throughput
Authentication, Authorization, mTLS
Load balancing, rate limiting, failover
Yatay ölçeklendirme desteği
API Gateway Bileşenleri
İstek Karşılama
- İstemci isteklerini karşılama
- TLS/SSL sonlandırması
- Request parsing ve validation
Policy Enforcement
- Pre-flow politikaları uygulama
- Conditional politikaları değerlendirme
- Post-flow politikaları uygulama
Routing
- Upstream Target seçimi
- Load balancing uygulaması
- Failover mekanizması
Worker Modülleri
Her Worker bir ortama aittir
Birden fazla Worker ile ölçeklendirme
Worker'lar arası yük dengeleme
Worker'lar bağımsız çalışır
Local Cache
Management API üzerinden yüklenen konfigürasyonlar
API Proxy konfigürasyonları ve ayarları.
Politika tanımları
Tüm politika tanımları ve yapılandırmaları.
OAuth2/JWT token'ları
Token doğrulama sonuçları ve token bilgileri.
API Proxy metadata bilgileri
API Proxy bilgileri ve routing metadata.
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 sayfasına bakın.
Token Provider API
Access token ve refresh token üretimi
OAuth2 ve JWT token'ların oluşturulması.
Token doğrulama
Token'ların geçerliliğinin kontrol edilmesi.
Token iptal etme
Token'ların iptal edilmesi ve geçersiz kılınması.
API Gateway Özellikleri
Güvenlik
- OAuth2 / OIDC
- JWT
- Basic / Digest Authentication
- mTLS
- IP Whitelist/Blacklist
- API Key kontrolü
- Role-based Access Control
- TLS/SSL sonlandırması
- SNI desteği
- Certificate yönetimi
- Data masking
- Encryption
- PII protection
Trafik Yönetimi
Load Balancing
- Round Robin
- Least Connections
- Weighted Round Robin
Load balancing stratejileri hakkında detaylı bilgi için Routing ve Upstream sayfasına bakabilirsiniz.
Rate Limiting
- API bazlı rate limiting
- Kullanıcı bazlı rate limiting
- IP bazlı rate limiting
- Quota yönetimi
Failover
- Otomatik failover
- Health check
- Circuit breaker
Mesaj İşleme
- JSON ↔ XML dönüştürme
- Message enrichment
- Field mapping
- JSON Schema validation
- XML Schema validation
- Message size validation
- Conditional routing
- Content-based routing
- Version-based routing
- Request/Response logging
- Audit logging
- Error logging
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
API Manager'da API Proxy konfigürasyonu yapılır
Tüm yapılandırmalar merkezi olarak yönetilir.
Konfigürasyon API Gateway'lere deploy edilir
Yapılandırmalar tüm gateway'lere dağıtılır.
API Gateway konfigürasyonu Local Cache'e yükler
Performans için yerel önbelleğe alınır.
İstemci istekleri API Gateway'e gelir
Client istekleri gateway'e yönlendirilir.
API Gateway konfigürasyonu kullanarak trafiği işler
Politikalar uygulanır ve routing yapılır.
Metrikler API Manager'a gönderilir
Performans ve kullanım metrikleri toplanır.
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.
API Gateway Performans Özellikleri
- Optimize edilmiş request handling
- Local cache kullanımı
- Async processing
- Non-blocking I/O
- Connection pooling
- Efficient resource usage
- Yatay ölçeklendirme
- Auto-scaling
- Load balancing
- Failover mekanizması
- Health check
- Redundancy