Yazılım
100%

Mikroservis Mimarisinde API Gateway Kullanımı ve Avantajları

Mikroservis mimarilerinde istemci ile servisler arasında merkezi bir giriş noktası olan API Gateway'in rolü, yetkilendirme ve trafik yönetimi.

Genel Bakış

Mikroservis mimarisi, büyük ve monolitik uygulamaları daha küçük, bağımsız ve yönetilebilir servislere böler. Ancak bu durum, istemcilerin (web, mobil) arka planda çalışan onlarca farklı servisle nasıl iletişim kuracağı sorusunu doğurur.

Sorun

İstemcinin her bir mikroservise doğrudan bağlanması (Direct Client-to-Microservice) güvenlik, ağ gecikmesi ve kod tekrarı gibi sorunlar yaratır. Eğer bir mobil uygulama anasayfayı yüklemek için sipariş, kullanıcı ve ürün servislerine ayrı ayrı HTTP isteği atarsa, hem performans düşer hem de her serviste ayrı ayrı token doğrulaması (authentication) yapmak gerekir.

Çözüm: API Gateway Entegrasyonu

API Gateway, istemciler ile backend servisleri arasına yerleştirilen merkezi bir sunucudur. Tüm istekler önce bu geçide gelir ve gateway isteği uygun servise yönlendirir (Reverse Proxy).

Örnek NGINX veya Kong Yapılandırma Mantığı: İstek /api/v1/orders yoluna gelirse, gateway bunu iç ağdaki order-service:8080 adresine yönlendirir.

Teknik Detaylar

API Gateway sadece bir yönlendirici değildir. İstek sınırlama (Rate Limiting), önbelleğe alma (Caching), SSL sonlandırma (SSL Termination) ve Yetkilendirme (JWT doğrulama) gibi "Cross-Cutting" (kesişen) endişeleri tek bir noktada çözer. Daha gelişmiş senaryolarda "BFF" (Backend for Frontend) kalıbı kullanılarak, mobil ve web istemcileri için farklı gateway'ler oluşturulabilir.

Sonuç

API Gateway kullanımı, mikroservis mimarisinin karmaşıklığını istemcilerden gizler. Arka planda servislerin yerleri veya teknolojileri değişse bile, istemci tarafında herhangi bir kod güncellemesi yapılmasına gerek kalmaz.

İlgili Wiki'ler

Tümünü Gör