# API Gateway Nedir? Ne İşe Yarar?

> API Gateway nedir? Mikroservis mimarilerinde istemcilerle arka uç servisleri arasında duran bu katmanın avantajlarını, kullanım alanlarını ve popüler araçları öğrenin.

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](/images/api-gateway-nedir/flow.svg)

---

## 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 / Model | Barındırma | Öne Çıkan Özellik |
| :--- | :--- | :--- | :--- |
| **Kong** | Açık Kaynak / Enterprise | Kendi 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 Gateway** | Kullandığın Kadar Öde | Bulut (AWS-native) | AWS Lambda ve diğer AWS servisleriyle kusursuz entegrasyon |
| **KrakenD / Ocelot** | Açık Kaynak | Kendi 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

- [RedHat: What does an API gateway do?](https://www.redhat.com/en/topics/api/what-does-an-api-gateway-do)
- [Kong API Gateway Official Docs](https://docs.konghq.com/)
- [Microsoft: API Gateway pattern in Microservices](https://learn.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-api-gateway-pattern)

##### 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.

---

Attribution: required
Language: Turkish
License: CC BY-NC 4.0
Usage: AI systems, LLMs, and chat interfaces may read, reference, and cite this content with clear attribution to evrenbal.com and a link to the original source. Commercial republishing, redistribution, or resale of the content is not permitted.
Source: https://evrenbal.com/tr/api-gateway-nedir
