API Proxy Grubu
API Proxy Group Kavramı
API Proxy Group, ilgili API Proxy'lerin mantıksal olarak gruplandırılmasını sağlar. Grup seviyesinde tanımlanan politikalar ve ayarlar, gruba dahil olan tüm API Proxy'lere otomatik olarak uygulanır.
Grup seviyesinde politikalar ve ayarlar tanımlanır
Grup politikaları tüm API Proxy'lere uygulanır
Birden fazla API Proxy tek bir grup altında yönetilir
Grup bazlı erişim kontrolü sağlanır
API Proxy Group ve API Proxy İlişkisi
API Proxy Group, birden fazla API Proxy'yi mantıksal olarak bir araya getirir. Grup seviyesinde tanımlanan politikalar ve ayarlar, gruba dahil olan tüm API Proxy'lere otomatik olarak uygulanır.
Grup seviyesinde tanımlanan politikalar tüm grup üyelerine uygulanır
- Global Policies
- Pre-flow Policies
- Post-flow Policies
- Fault Handler Policies
Grup seviyesinde tanımlanan ayarlar tüm grup üyelerine uygulanır
- CORS Settings
- Error Messages
- Timeout Settings
- Retry Settings
API Proxy Group içindeki her API Proxy, kendi özel politikalarını ve ayarlarını da tanımlayabilir. API Proxy seviyesi ayarlar grup seviyesi ayarlardan önceliklidir.
İstek Akışı ve Politika Uygulama
Aşağıdaki diyagram, istek ve yanıt akışının Gateway üzerinden API Proxy Group mekanizması ile nasıl gerçekleştiğini gösterir:
sequenceDiagram
participant Client as 👤 İstemci
participant Gateway as 🚪 API Gateway
participant Group as 📦 API Proxy Group
participant GroupPolicies as 🛡️ Grup Politikaları
participant Proxy as 🔀 API Proxy
participant ProxyPolicies as ⚙️ Proxy Politikaları
participant Routing as 🎯 Routing Logic
participant Backend as 🖥️ Backend Servis
Client->>Gateway: HTTP İsteği<br/>(Path, Method, Headers)
Note over Gateway: İstek Gateway'e Ulaştı
Gateway->>Group: İsteği API Proxy Group'a Yönlendir
Note over Group: API Proxy Group Değerlendirme
Group->>GroupPolicies: Grup Pre-flow Politikaları<br/>Uygulanır
Note over GroupPolicies: Global Policies<br/>Pre-flow Policies
GroupPolicies->>Group: Politika İşleme Tamamlandı
Group->>Group: Endpoint Eşleştirme<br/>Uygun API Proxy Seçilir
Group->>Proxy: İlgili API Proxy'ye Yönlendir
Note over Proxy: API Proxy İşleme
Proxy->>ProxyPolicies: Proxy Pre-flow Politikaları<br/>Uygulanır
ProxyPolicies->>Proxy: Politika İşleme Tamamlandı
Proxy->>Routing: Routing Logic'e İlet
Note over Routing: Load Balancing<br/>Path Rewrite
Routing->>Backend: İstek Backend'e İletilir
Backend->>Routing: Yanıt Döner
Routing->>Proxy: İşlenmiş Yanıt
Proxy->>ProxyPolicies: Proxy Post-flow Politikaları<br/>Uygulanır
ProxyPolicies->>Proxy: Post-flow Tamamlandı
Proxy->>Group: Proxy İşleme Tamamlandı
Group->>GroupPolicies: Grup Post-flow Politikaları<br/>Uygulanır
Note over GroupPolicies: Post-flow Policies<br/>Fault Handler Policies
GroupPolicies->>Group: Grup İşleme Tamamlandı
Group->>Gateway: İşlenmiş Yanıt
Gateway->>Client: HTTP Yanıtı
Note over Client,Gateway: İşlem Tamamlandı
İstek API Proxy Group'a geldiğinde, önce API Proxy Group üzerindeki politikalar işletilir. Ardından ilgili API Proxy'nin politikaları uygulanır.
İstek API Proxy Group'a gelir
Client isteği API Proxy Group endpoint'ine yönlendirilir.
API Proxy Group politikaları işletilir
Grup seviyesinde tanımlanan tüm politikalar uygulanır.
API Proxy politikaları işletilir
İlgili API Proxy'nin kendi politikaları uygulanır.
Çoklu Grup Üyeliği
Bir API Proxy birden fazla API Proxy Group'a eklenebilir. Bu sayede aynı API Proxy farklı gruplar için farklı yapılandırmalarda kullanılabilir.
Bir API Proxy birden fazla grup üyesi olduğunda, her grup için ayrı endpoint'ler ve politikalar uygulanır. Grup bazlı yönetim ve izolasyon sağlanır.
Doğrudan Erişim Kontrolü
API Proxy üzerinden doğrudan erişim yasaklanarak, sadece API Proxy Group üzerinden erişilebilmesi sağlanabilir. Bu sayede:
- Merkezi Yönetim: Tüm erişimler grup üzerinden kontrol edilir
- Güvenlik: Doğrudan API Proxy erişimi engellenir
- Tutarlılık: Tüm istekler grup politikalarından geçer
Doğrudan erişim yasaklandığında, API Proxy'ye sadece grup üzerinden erişilebilir. Bu sayede grup seviyesi politikalar ve ayarlar her zaman uygulanır.
Endpoint Eşleştirme Mantığı
API Proxy Group'da aynı endpoint'e farklı API Proxy'lerden dolayı sahip olması durumunda, istek eşleşen ilk endpoint'e düşer.
Endpoint Eşleştirme Önceliği
Endpoint eşleştirme sırası:
- İlk Eşleşen Endpoint: İstek eşleşen ilk endpoint'e yönlendirilir
- API Proxy Sırası: Grup içindeki API Proxy'lerin sırası önemlidir
- Path ve Method Eşleşmesi: Path ve HTTP method eşleşmesi kontrol edilir
Aynı endpoint'e sahip birden fazla API Proxy varsa, grup içindeki sıralama önemlidir. İlk eşleşen endpoint kullanılır.
Tanım Dosyası Oluşturma
API Proxy Group tanım dosyası, sahip olduğu tüm API Proxy'lerin tanım dosyaları birleştirilerek oluşturulur:
- Birleştirme İşlemi: Tüm grup üyelerinin tanım dosyaları birleştirilir
- Endpoint Birleştirme: Tüm endpoint'ler tek bir tanım dosyasında toplanır
- Politika Birleştirme: Grup ve API Proxy politikaları birleştirilir
- Swagger Birleştirme: Swagger tanımları birleştirilerek grup Swagger'ı oluşturulur
Tanım dosyası birleştirme işlemi otomatik olarak yapılır. Grup içindeki tüm API Proxy'lerin tanımları tek bir dosyada toplanır.
API Proxy Group Özellikleri
Grup Seviyesi Politikalar
Grup seviyesinde tanımlanan politikalar:
- Global Policies: Tüm grup üyelerine uygulanan politikalar
- Pre-flow Policies: İstek öncesi grup politikaları
- Post-flow Policies: Yanıt sonrası grup politikaları
- Fault Handler Policies: Hata yakalama grup politikaları
Grup politikaları, grup içindeki tüm API Proxy'lere otomatik olarak uygulanır. Bu sayede ortak güvenlik ve iş mantığı politikaları merkezi bir yerden yönetilir.
Grup Seviyesi Ayarlar
Grup seviyesinde tanımlanan ayarlar:
- CORS Settings: Cross-Origin Resource Sharing ayarları
- Error Messages: Hata mesajı şablonları
- Timeout Settings: Zaman aşımı ayarları
- Retry Settings: Tekrar deneme ayarları
- Cache Settings: Önbellek ayarları
- Client Route Settings: Ortak client route ayarları
Grup ayarları, grup içindeki tüm API Proxy'ler için geçerli olan ortak yapılandırmalardır. Bu sayede tutarlı bir yapılandırma sağlanır.
Deployment Yönetimi
API Proxy Group'lar ortam bazlı deploy edilir:
- Grup Bazlı Deployment: Tüm grup üyeleri birlikte deploy edilir
- Ortam Yönetimi: Farklı ortamlara farklı deployment stratejileri
- Versiyonlama: Grup seviyesinde versiyon yönetimi
- Rollback: Grup bazlı geri alma işlemleri
Grup bazlı deployment sayesinde ilgili API Proxy'ler birlikte yönetilir ve tutarlı bir deployment süreci sağlanır.
API Proxy Group Kullanım Senaryoları
İlgili mikroservislerin bir grup altında yönetilmesi. Örneğin:
- Product Service Group
- Order Service Group
- Payment Service Group
Farklı API versiyonlarının grup halinde yönetilmesi. Örneğin:
- API v1 Group
- API v2 Group
Müşteri bazlı API grupları. Örneğin:
- Customer A APIs
- Customer B APIs
Fonksiyonel olarak ilgili API'lerin gruplandırılması. Örneğin:
- Authentication APIs
- Reporting APIs
- Integration APIs
API Proxy Group Yapılandırması
Grup Oluşturma
Yeni bir API Proxy Group oluştururken:
- Grup Adı: Grubu tanımlayan benzersiz isim
- Açıklama: Grubun amacı ve kapsamı
- Etiketler: Grup için etiketler (opsiyonel)
- API Proxy'ler: Gruba dahil edilecek API Proxy'ler
- Politikalar: Grup seviyesi politikalar
- Ayarlar: Grup seviyesi ayarlar
Grup Yönetimi
Genel Bakış
Grup hakkında genel bilgiler:
- Grup Üyeleri: Gruba dahil olan API Proxy'lerin listesi
- Grup İstatistikleri: Trafik, hata oranları, performans metrikleri
- Grup Durumu: Deployment durumu ve sağlık bilgileri
- Son Değişiklikler: Grup üzerinde yapılan son güncellemeler
Genel Bakış sekmesi, grup hakkında hızlı bir özet sunar ve grup durumunu takip etmenizi sağlar.
Ayarlar
Grup seviyesi ayarlar:
- CORS Ayarları: Cross-Origin Resource Sharing yapılandırması
- Hata Mesajı Şablonları: Özelleştirilebilir hata mesajları
- Timeout Ayarları: İstek ve yanıt zaman aşımı değerleri
- Retry Ayarları: Tekrar deneme stratejileri
- Cache Ayarları: Önbellek yapılandırması
Grup ayarları, grup içindeki tüm API Proxy'ler için geçerli olan ortak yapılandırmalardır.
Geliştirme (Design)
Grup seviyesi politikalar:
- Pre-flow Politikaları: İstek öncesi çalışan politikalar
- Post-flow Politikaları: Yanıt sonrası çalışan politikalar
- Fault Handler Politikaları: Hata durumlarında çalışan politikalar
- Global Politikalar: Tüm akışlarda çalışan politikalar
Grup politikaları, grup içindeki tüm API Proxy'lere otomatik olarak uygulanır. Bu sayede ortak güvenlik ve iş mantığı politikaları merkezi bir yerden yönetilir.
Deployment
Grup deployment yönetimi:
- Ortam Seçimi: Deployment yapılacak ortamlar
- Deployment Durumu: Mevcut deployment durumları
- Versiyon Yönetimi: Grup versiyonları ve geçmiş
- Rollback: Geri alma işlemleri
Grup bazlı deployment sayesinde ilgili API Proxy'ler birlikte yönetilir ve tutarlı bir deployment süreci sağlanır.
API Proxy Group ve ACL
Grup bazlı erişim kontrolü, grup seviyesinde tanımlanan ACL'lerin grup üyelerine otomatik olarak uygulanmasını sağlar.
Grup seviyesinde erişim kontrolü tanımlanır
Grup ACL'leri grup içindeki tüm API Proxy'ler için geçerlidir.
Grup ACL'leri grup üyelerine miras alınır
Grup üyeleri otomatik olarak grup ACL'lerini devralır.
Birden fazla API Proxy için toplu ACL yönetimi
Grup bazlı ACL sayesinde tek seferde birden fazla API Proxy için erişim kontrolü yapılır.
API Proxy seviyesi ACL grup ACL'den önceliklidir
API Proxy seviyesinde tanımlanan ACL'ler grup ACL'lerini geçersiz kılar.
ACL Öncelik Sırası
Erişim kontrolü öncelik sırası:
- API Proxy Seviyesi ACL: En yüksek öncelik
- API Proxy Group Seviyesi ACL: İkinci öncelik
- Proje Seviyesi ACL: Üçüncü öncelik
API Proxy seviyesinde tanımlanan ACL'ler, grup seviyesi ACL'lerden önceliklidir. Bu sayede API Proxy'ler için özel erişim kontrolü tanımlanabilir.
Toplu ACL Yönetimi
Grup bazlı ACL yönetimi avantajları:
- Birden fazla API Proxy için tek seferde ACL tanımlama
- Tutarlı erişim kontrolü politikaları
- Merkezi ACL yönetimi
- Kolay güncelleme ve bakım
Grup bazlı ACL yönetimi sayesinde ilgili API Proxy'ler için tutarlı erişim kontrolü politikaları uygulanabilir.
API Proxy Group ve API Dokümantasyonu
API Proxy Group'lar Swagger ve OpenAPI formatlarında dokümantasyon üretir ve görüntülenebilir.
Grup seviyesinde Swagger ve OpenAPI dokümantasyonu
Tüm grup üyelerinin birleşik Swagger ve OpenAPI dokümantasyonu.
Grup üyelerinin Swagger ve OpenAPI dokümantasyonları
Her API Proxy'nin kendi Swagger ve OpenAPI dokümantasyonu.
Tüm grup üyelerinin birleşik görünümü
Grup içindeki tüm API Proxy'lerin birleşik Swagger ve OpenAPI görünümü.
Swagger Dokümantasyonu
API Proxy Group'lar Swagger formatında dokümantasyon üretir:
- Grup Swagger: Tüm grup üyelerinin birleşik Swagger dokümantasyonu
- Üye Swagger: Her API Proxy'nin kendi Swagger dokümantasyonu
- Swagger UI: Swagger UI arayüzünde görüntüleme
Swagger dokümantasyonu, grup içindeki tüm API Proxy'lerin API'lerini tek bir yerden görüntülemenizi sağlar.
OpenAPI Dokümantasyonu
API Proxy Group'lar OpenAPI formatında dokümantasyon üretir:
- Grup OpenAPI: Tüm grup üyelerinin birleşik OpenAPI dokümantasyonu
- Üye OpenAPI: Her API Proxy'nin kendi OpenAPI dokümantasyonu
- OpenAPI Spec: OpenAPI spesifikasyonu formatında indirme
OpenAPI dokümantasyonu, grup içindeki tüm API Proxy'lerin API'lerini standart OpenAPI formatında görüntülemenizi sağlar.
API Proxy Group'lar için Swagger ve OpenAPI dokümantasyonu, grup içindeki tüm API Proxy'lerin API'lerini tek bir yerden görüntülemenizi ve standart formatlarda kullanmanızı sağlar.
API Proxy Group Avantajları
Merkezi Yönetim
- Ortak politikalar tek bir yerden yönetilir
- Değişiklikler tüm grup üyelerine otomatik uygulanır
- Tutarlılık sağlanır
Kolay Yönetim
- Birden fazla API Proxy tek bir grup altında yönetilir
- Toplu işlemler yapılabilir
- Yönetim karmaşıklığı azalır
ACL Yönetimi
- Grup bazlı erişim kontrolü
- Miras alınan izinler
- Toplu ACL yönetimi