← Back to list

Basitçe Anlatmak Gerekirse API Gateway Nedir? Mikroservis Mimarilerinde Kullanımı

Giriş: API Gateway Neden Gündemde?

Hüseyin Erkek in Turk Telekom Bulut Teknolojileri · 2026-07-02 06:24 · 0 claps · 8.5 min read
#kafka-streams #kafka-consumer #kafka-rebalancing #microservices
Open on Medium ↗

Basitçe Anlatmak Gerekirse API Gateway Nedir? Mikroservis Mimarilerinde Kullanımı

Giriş: API Gateway Neden Gündemde?

Mikroservis mimarisine geçiş yapan her ekip bir noktada şu soruyla karşılaşır: “Tüm bu servisleri tek bir noktadan nasıl yöneteceğiz?” İşte burada API Gateway devreye giriyor. Modern uygulamalarda servislerin dış dünya ile nasıl konuştuğunu düzenleyen, güvenlikten loglamaya kadar birçok görevi üstlenen kritik bir bileşendir.

API Gateway Patern Nedir?

API Gateway, mikroservis mimarisinde istemci uygulamaları ile arka uç hizmetler arasında bir aracı katman olarak görev yapar. Temel olarak, dış dünyadan gelen tüm istemci isteklerinin geçtiği merkezi bir giriş kapısıdır. İstemciler ile mikroservisler arasındaki çok katmanlı etkileşimleri düzenler, yönlendirir ve merkezileştirir.

API Gateway, birden fazla istemcinin (mobil, web, IoT vb.) birçok mikroservise erişimini kolaylaştırır. Ancak sistem ölçeklendikçe ve farklı istemci ihtiyaçlarını karşılamak amacıyla Gateway’e eklenen işlevler arttıkça, Gateway’in aşırı yüklenmesi (bloat) ve zamanla monolitik bir yapıya dönüşmesi riski ortaya çıkabilir.

Bu nedenle, API Gateway’lerin olabildiğince küçük ve özelleştirilmiş tutulması önerilir. Gerektiğinde farklı istemci türleri veya işlevler için birden fazla Gateway oluşturulabilir. Bu yaklaşıma Backend For Frontend (BFF) deseni de denir. BFF modeli, her istemci türü için özel API Gateway’ler tasarlanarak, istemcilerin ihtiyaç duyduğu verileri ve işlevleri en verimli şekilde sunmayı hedefler.

API Gateway Özellikleri

1. Load Balancing:

API Gateway, gelen istemci isteklerini arka uçtaki (backend) mikroservisler arasında dengeli bir şekilde dağıtarak, belirli bir servisin aşırı yüklenmesini engeller. Bu özellik sayesinde:

  • Servisler arasın yük paylaşımı sağlanır.
  • Servislerin performansı ve yanıt süreleri optimize edilir.
  • Sunucu arızlarına karşı yüksek erişilebilirlik(high availability) sağlanır.

2. Authentication & Authorization (JWT, OAuth2)

API Gateway, istemcilerin kimliğini doğrulamak (Authentication) ve yetkilendirme kurallarını uygulamak (Authorization) için merkezi bir güvenlik katmanı sağlar. Yaygın kullanılan yöntemler:

  • JWS(JSON Web Token): İstemciden gelen token’ı doğrular,kimlik ve yetki bilgisini kontrol eder.
  • OAuth2: Üçüncü parti erişimler için token tabanlı güvenlik yetkilendirme sağlar (Örneğin Google ile giriş).

3. Rate Limiting & Throttling

API Gateway, istemcilerin belirli bir zaman diliminde yapabileceği istek sayısını sınırlar (Rate Limiting) ve aşırı trafik durumunda istekleri sıraya alabilir veya reddedebilir (Throttling).

  • Hizmetlerin kötüye kullanımına karşı koruma sağlanır(Ddos saldırıları).
  • Ani trafik dalgalanmaları yönetilir.
  • SLA(Service Level Agreement) hedefleri korunur.

4. Logging & Monitoring

API Gateway, tüm gelen ve giden istekleri, hataları, yanıt sürelerini ve diğer metrikleri kaydederek merkezi bir log ve izleme mekanizması sunar. Bu veriler:

  • Sistem sağlığı ve performans takibi için kullanılır.
  • Sorun giderme ve hata analizi kolaylaştırır.
  • İzleme araçlarıyla(Prometheus, ELS Stack, Grafana vb.) entegre edilebilir.

5. Caching

Sık erişilen veriler, API Gateway üzerinde cache’lenerek mikroservislere gelen tekrar eden isteklerin yükü azaltılır. Bu özellik:

  • Yanıt sürelerini ciddi şekilde düşürür.
  • Servis üzerindeki gereksiz sorguları önler.
  • Trafik maliyetlerini azaltır.

6. Protocol Translation (HTTP, WebSocket,gRPC)

API Gateway, istemcilerden gelen farklı protokoldeki istekleri arka uç servislerin anlayacağı şekilde dönüştürür. Yaygın senaryolar:

  • HTTP -> gRPC dönüşümü.
  • WebSocket bağlantılarının HTTP’ye çevrilmesi.
  • RESTFul API çağrılarını SOAP servislerine yönlendirme.

Bu özellik, mikroservislerin kendi içlerinde sadece tek bir protokole odaklanmasını sağlarken, Gateway farklı istemcilerin ihtiyaç duyduğu protokolleri destekler.

API Gateway Mimarisi Nasıl Çalışır ?

Bu mimari, istemciler ve servisler arasındaki tüm giriş/çıkış işlemlerinin merkezi bir noktada kontrol edilmesini sağlar.

  1. Client Request (İstemci İstekleri): Kullanıcı mobil, web ve diğer istemciler üzerinden API cağrıları yapar.
  2. Entry Point (API Gateway Karşılama): Tüm istekler API Gateway’e gelir. Gateway, bu istekleri doğrulama, yetkilendirme, hız sınırlama (rate limiting), cache kontrolü gibi işlemlerden geçirir.
  3. Routing (Yönlendirme): API Gateway, işlenmiş istekleri ilgili mikroservislere yönlendirir. Bu yönlendirme URL path, header, HTTP method gibi kriterlere göre yapılır.
  4. Backend Microservices (Mikroservisler): Mikroservisler, API Gateway’den gelen istekleri işler ve sonuçlarını Gateway’e geri döner.
  5. Response Aggregation (Yanıt Birleştirme — Opsiyonel): Eğer birden fazla mikroservisten veri toplanması gerekiyorsa, API Gateway bu yanıtları birleştirip tek bir yanıt haline getirir.
  6. Yanıt Gönderme: API Gateway, mikroservisten gelen yanıtı işleyip(cachleme, transformasyon vb.) istemciye geri döner.

API Gateway Mimarisi Katmanları

API Gateway mimarisi genellikle iki ana katmandan oluşur:

  1. Edge(Uç ) Katmanı
  • Kimlik Doğrulama ve Yetkilendirme (Authentication & Authorization): Kullanıcıların kimliklerinin doğrulanması (JWT, OAuth2 vb.) ve kaynaklara erişim yetkilerinin kontrolü.
  • Rate Limiting & Throttling: Belirli bir zaman diliminde yapılan istekleri sınırlayarak sistemin aşırı yüklenmesini önleme.
  • Caching (Önbellekleme): Sık kullanılan verileri önbelleğe alarak performansı artırma.
  • Load Balancing (Yük Dengeleme): Gelen istekleri arka uç servisleri arasında dengeli şekilde dağıtma.
  • SSL Termination (TLS Offloading): Gelen HTTPS trafiğini karşılayıp çözerek iç iletişimi HTTP olarak devam ettirme.
  • Logging & Monitoring: Tüm trafiğin kaydını tutarak izleme ve analiz yapılmasını sağlama.
  • Protocol Translation: HTTP isteklerini WebSocket, gRPC gibi farklı protokollere dönüştürme.
  1. Core API Layer (API Gateway Katmanı)

Bu katman, sistemdeki arka uç mikroservislere arayüz sağlayan çekirdek katmandır. Edge katmanından gelen istekleri doğru servislere yönlendirir ve iş mantığını uygular.

  • Routing (Yönlendirme): İstekleri uygun mikroservislere yönlendirme.
  • Aggregation (Bileşen Toplama): Birden fazla mikroservisten veri çekip, bunları tek bir yanıt olarak istemciye döndürme
  • Transformation (Dönüşüm): API istek ve yanıtlarını istemcinin ihtiyaçlarına göre yeniden şekillendirme.
  • Service Orchestration: Farklı servislerin belirli bir iş akışına göre orkestrasyonunu sağlama.
  • Circuit Breaker (Devre Kesici): Servislerin hata durumunda devre dışı kalmasını ve sistemin genelini koruyan önlemler alma.
  • Security Policies Enforcement: Servis bazında güvenlik politikalarının uygulanması.

API Gateway İstemci İsteklerini Nasıl İşler ?

  1. Request(İstek): İstemci API Gateway’e bir HTTP isteği gönderir.
  2. Parameter Validation(Parametre Doğrulama): Gelen isteğin URL, başlık veya gövdesindeki parametrelerin geçerli olup olmadığını kontrol eder. Bu, olası kötü niyetli veya hatalı istekleri engellemek için ilk adımdır.
  3. Allow-list/ Deny-list(İzin ver/ Engelle Listesi): İsteğin kaynak IP adresi, kullanıcı kimliği veya diğer özelliklere göre belirli isteklere izin verilir veya engellenir. Bu, temel bir güvenlik katmanı sağlar.
  4. Authenticaton Authorization(Kimlik Doğrulama ve Yetkilendirme): İstek yapan kullanıcının kimliğini (authentication) doğrular ve bu kullanıcının talep ettiği kaynağa erişim yetkisinin (authorization) olup olmadığını kontrol eder.
  5. Rate Limit(Hız Sınırı): Belirli bir zaman diliminde bir istemciye izin verilen istek sayısını sınırlar. Bu, sistemin aşırı yüklenmesini önler ve hizmet reddi (DoS) saldırılarını hafifletir.
  6. Dynamic Routing(Dinamik Yönlendirme): Gelen isteği, önceden tanımlanmış kurallara göre uygun mikroservislere yönlendirir. Bu gateway’in en temel işlevlerinde biridir.
  7. Service Discovery(Servis Keşfi): Yönlendirlecek olan mikro servisin ağdaki güncel konumunu ve durumunu bulur. Mikroservislerin dinamik olarak eklenip çıkabileği durumlarda hayati öneme sahiptir.
  8. Protocol Conversion(Protokol Dönüştürme): steğin protokolünü (örneğin, HTTP’den gRPC’ye) hedef mikroservisin gereksinimine uygun şekilde dönüştürür.
  9. Microservices (Mikroservisler): Sonunda istek, iş mantığını yürütecek olan hedef mikroservise ulaşır.

API Gateway Kullanmanın Faydaları Nelerdir?

API Gateway’ler, mikroservis mimarisinde istemci ile arka uç hizmetleri arasında akıllı bir köprü görevi görerek; güvenlik, performans, yönetim kolaylığı ve maliyet optimizasyonu sağlar. Modern yazılım geliştirme süreçlerinde API Gateway kullanmanın temel faydaları şunlardır:

1. Merkezi Güvenlik ve Trafik Kontrolü

API Gateway, tüm istemci isteklerini tek bir noktadan yönlendirerek kimlik doğrulama (authentication), yetkilendirme (authorization), rate limiting ve DDoS koruması gibi güvenlik önlemlerini merkezi olarak uygular. Böylece mikroservislerin iş yükünü azaltırken, sistem genelinde tutarlı bir güvenlik politikası sağlar.

2. Trafik Akışını ve Yükü Yönetir

Gateway, gelen API isteklerini yük dengeleme (load balancing) ile farklı mikroservislere dağıtarak performansı optimize eder. Trafiği filtreleyip yönlendirerek aşırı yüklenmeyi önler ve servislerin her zaman erişilebilir olmasını sağlar.

3. Mikroservislerin İş Yükünü Azaltır

Kimlik doğrulama, rate limiting, logging gibi cross-cutting concern dediğimiz işlemleri kendi üzerine alır ve mikroservisleri bu tekrarlayan iş yükünden kurtarır. Bu, mikroservislerin yalnızca iş mantığına odaklanmasını sağlar.

4. Protokol Bağımsızlığı Sağlar

İstemciler farklı protokoller (HTTP, WebSocket, gRPC) kullanırken, API Gateway bu protokoller arasında çeviri (protocol translation) yaparak, istemcilerin mikroservislere sorunsuz erişmesini sağlar.

5. İstemciler İçin Tek Giriş Noktası (Single Entry Point) Sunar

Mikroservislerin uç noktalarını gizleyerek, tüm isteklerin geçtiği merkezi bir API adresi sağlar. Bu, hem güvenliği hem de yönetimi kolaylaştırır.

6. Yanıt Birleştirme (Response Aggregation) ile Performans Artışı

İstemcinin ihtiyaç duyduğu veri, farklı mikroservislerden geliyor olabilir. API Gateway, bu istekleri arka planda paralel olarak mikroservislere dağıtır, verileri birleştirir ve istemciye tek bir response olarak döner. Bu, istemcideki istek sayısını azaltarak performansı ciddi oranda artırır.

7. Maliyet ve Kaynak Optimizasyonu

Kaynakları akıllıca kullanarak altyapı maliyetlerini düşürür. API Gateway’in üstlendiği yük dengeleme, güvenlik ve önbellekleme (caching) gibi işlemler sayesinde arka uç sistemlerinde daha az kaynak tüketilir.

API Gateway ve Reverse Proxy Farkı

API Gateway ve Reverse Proxy kavramları sıklıkla karıştırılsa da, amaçları ve sundukları işlevsellik açısından önemli farklara sahiptirler. Şimdi sana net ve karşılaştırmalı bir şekilde anlatayım:

Popüler API Gateway Çözümleri

Mikroservis ekosisteminde ihtiyaçlara, kullanılan altyapıya ve performans beklentilerine göre seçilebilecek birçok popüler API Gateway çözümü bulunmaktadır. Bunları genel olarak açık kaynaklı/bulut uyumlu ve platforma özel çözümler olarak ikiye ayırabiliriz:

  • Kong Gateway: Lua dilinde yazılmış, Nginx tabanlı, son derece hafif ve yüksek performanslı bir API Gateway’dir. Eklenti (plugin) mimarisi sayesinde yetkilendirme, rate limiting ve loglama gibi özellikler kolayca entegre edilir. Kubernetes ve OpenShift ortamlarıyla mükemmel uyum sağlar (Kong Ingress Controller).
  • Apache APISix: Apache Yazılım Vakfı tarafından geliştirilen, dinamik, gerçek zamanlı ve yüksek performanslı bir bulut yerli API Gateway’dir. Etcd tabanlı konfigürasyon yönetimi sayesinde yeniden başlatma gerektirmeden anlık kural güncellemelerine izin verir.
  • KrakenD: Go diliyle yazılmış, ultra performanslı ve stateless (durumsuz) bir API Gateway’dir. Özellikle Response Aggregation (yanıt birleştirme) işlemlerinde inanılmaz hızlıdır ve hafıza tüketimi çok düşüktür.

Red Hat OpenShift / Kubernetes Odaklı Çözümler:

  • 3scale API Management: Red Hat’in kurumsal düzeydeki API yönetim platformudur. OpenShift ile yerel olarak entegre çalışır. API politikalarının deklaratif olarak yönetilmesini, detaylı analitik raporlamayı ve geliştirici portalları (developer portal) oluşturulmasını sağlar.
  • Istio / Envoy (Service Mesh Giriş Kapısı): OpenShift Service Mesh altyapısının kalbinde yer alan Envoy, hem cluster içi trafiği (East-West) hem de cluster dışından gelen trafiği (North-South — Ingress Gateway olarak) yönetmek için gelişmiş bir API Gateway gibi davranabilir.

Best Pratice Ve Sık Yapılan Hatalar

API Gateway mimarisini doğru kurgulamak, sistemin genel sağlığı için hayati önem taşır. Bu süreçte dikkat edilmesi gereken en iyi uygulamalar ve kaçınılması gereken hatalar şunlardır:

En İyi Uygulamalar (Best Practices)

  • BFF (Backend for Frontend) Modelini Benimseyin: Tüm istemci türlerini (web, mobil, IoT) tek bir devasa Gateway arkasına sıkıştırmak yerine, her platformun kendi ihtiyacına özel optimize edilmiş küçük Gateway katmanları (BFF) oluşturun.
  • Deklaratif Yapılandırma (GitOps) Kullanın: API rotalarını, güvenlik politikalarını ve rate limit kurallarını manuel arayüzler yerine YAML/JSON dosyalarında tanımlayın. Özellikle OpenShift veya Kubernetes kullanıyorsanız, bu kuralları ArgoCD gibi araçlarla GitOps felsefesine uygun olarak cluster’a dağıtın.
  • SSL Termination İşlemini Gateway’de Bitirin: Dış dünyadan gelen HTTPS (TLS) trafiğini API Gateway üzerinde sonlandırın (SSL Termination). Gateway ile cluster içerisindeki mikroservisler arasındaki trafiği ise hafifletmek adına HTTP olarak (veya cluster içi mTLS ile güvenli hale getirerek) devam ettirin. Bu, mikroservislerin üzerindeki şifreleme yükünü alır.
  • Circuit Breaker (Devre Kesici) Kullanın: Arka uçtaki bir mikroservis çöktüğünde veya yavaşladığında, API Gateway’in istekleri o servise göndermeye devam ederek kaynakları tüketmesini engelleyin. Gateway düzeyinde bir Circuit Breaker kurgulayarak kullanıcıya hızlıca anlamlı bir hata mesajı (veya fallback verisi) dönün.

Sık Yapılan Hatalar (Antipatterns)

  • Gateway İçerisine İş Mantığı (Business Logic) Yazmak: > En Kritik Hata: API Gateway bir akıllı yönlendirici ve güvenlik duvarıdır; bir uygulama sunucusu değildir. Veritabanına doğrudan erişim, karmaşık veri hesaplamaları veya iş mantığı kuralları Gateway içerisine yazılmamalıdır. Bu durum, Gateway’in zamanla “Dağıtık bir Monolit” (Distributed Monolith) haline gelmesine ve darboğaz (bottleneck) oluşturmasına yol açar.
  • Tek Nokta Hatası (Single Point of Failure — SPOF) Yaratmak: Tüm trafik tek bir Gateway instance’ı üzerinden geçerse ve o instance çökerse tüm sisteminiz erişilemez olur. API Gateway her zaman yüksek erişilebilir (High Availability) modda, bir Load Balancer arkasında ve yatayda ölçeklenebilir (Horizontal Pod Autoscaler — HPA ile) şekilde konumlandırılmalıdır.
  • Loglama ve Dağıtık İzlemeyi (Distributed Tracing) İhmal Etmek: Gateway’den geçen isteklere benzersiz bir Correlation-ID (İlişkilendirme Kimliği) atanmazsa, mikroservisler arasında kaybolan bir isteğin izini sürmek imkansız hale gelir. Gelen her isteğe bu ID verilmeli ve Jaeger/OpenTelemetry gibi araçlarla tüm akış izlenmelidir.

Özetle;

API Gateway, mikroservis mimarisinin kaosa dönüşmesini engelleyen “orkestra şefidir”. Ancak onu ne kadar hafif, iş mantığından uzak ve altyapı odaklı tutarsanız, sisteminiz o kadar esnek, güvenli ve performanslı olacaktır.

Sonuç: Doğru Bir Başlangıç İçin API Gateway

Mikroservis mimarilerine geçiş, beraberinde getirdiği esneklik ve ölçeklenebilirlik avantajlarının yanında, sistem bileşenlerinin yönetimi ve güvenliği gibi ciddi zorlukları da beraberinde getirir. Makale boyunca incelediğimiz gibi API Gateway, bu karmaşıklığı istemcilerden gizleyen, arka uçtaki servislerin güvenle ve performansla çalışmasını sağlayan sistemin “merkezi giriş kapısıdır”.

Ancak unutulmamalıdır ki API Gateway, sihirli bir değnek değildir. Onu mimarinizin en güçlü kası yapmak da, tüm sistemi kilitleyen bir darboğaza (bottleneck) dönüştürmek de sizin tasarım kararlarınıza bağlıdır. Başarılı bir API Gateway stratejisi için:

  • İş mantığını (business logic) kesinlikle Gateway dışında tutun,
  • Altyapınızı bulut araçlarla destekleyin,
  • Yapılandırmalarınızı GitOps felsefesiyle deklaratif olarak yönetin.

Doğru kurgulanmış bir API Gateway katmanı, mikroservis yolculuğunuzda karmaşayı düzenli bir orkestraya dönüştürmenin en kritik adımıdır. Projenizin büyüklüğüne ve hedef kitlenizin ihtiyaçlarına en uygun pattern’ı (örneğin BFF) seçerek, sisteminizi gelecekteki büyümelere karşı bugünden hazır hale getirebilirsiniz.

Kaynakça

[embed]Java Spring Boot Microservices - Develop API Gateway Using Spring Cloud Gateway - GeeksforGeeks Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across…www.geeksforgeeks.org

[embed]What is an API Gateway? Core Fundamentals and Use Cases Discover what an API Gateway is, its advantages, and how it is used across various industries. Learn more about API…konghq.com

[embed]API Gateway Patterns in Microservices - GeeksforGeeks Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across…www.geeksforgeeks.org

[embed]Microservices Pattern: Pattern: API Gateway / Backends for Frontends An API gateway acts a single entry point into the application, routing and composing requests to servicesmicroservices.io

https://medium.com/@maheshsaini.sec/what-does-api-gateway-do-in-microservices-architecture-d1e93e27e040


메타데이터
post_id
ad822eb88b95
slug
basitçe-anlatmak-gerekirse-api-gateway-nedir-mikroservis-mimarilerinde-kullanımı-ad822eb88b95
url
https://medium.com/t%C3%BCrk-telekom-bulut-teknolojileri/basit%C3%A7e-anlatmak-gerekirse-api-gateway-nedir-mikroservis-mimarilerinde-kullan%C4%B1m%C4%B1-ad822eb88b95
canonical_url
https://medium.com/t%C3%BCrk-telekom-bulut-teknolojileri/basit%C3%A7e-anlatmak-gerekirse-api-gateway-nedir-mikroservis-mimarilerinde-kullan%C4%B1m%C4%B1-ad822eb88b95
author_url
https://medium.com/@huseyin.erk.10
status
ok
fetched_at
2026-07-09 06:39:14