Ana içeriğe atla

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.

Merkezi Yönetim

Grup seviyesinde politikalar ve ayarlar tanımlanır

Ortak Politikalar

Grup politikaları tüm API Proxy’lere uygulanır

Kolay Yönetim

Birden fazla API Proxy tek bir grup altında yönetilir

ACL Yönetimi

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 Seviyesi Politikalar

Grup seviyesinde tanımlanan politikalar tüm grup üyelerine uygulanır
  • Global Policies
  • Pre-flow Policies
  • Post-flow Policies
  • Fault Handler Policies

Grup Seviyesi Ayarlar

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: İstek API Proxy Group’a geldiğinde, önce API Proxy Group üzerindeki politikalar işletilir. Ardından ilgili API Proxy’nin politikaları uygulanır.

1. İstek Gelişi

İstek API Proxy Group’a gelirClient isteği API Proxy Group endpoint’ine yönlendirilir.

2. Grup Politikaları

API Proxy Group politikaları işletilirGrup seviyesinde tanımlanan tüm politikalar uygulanır.

3. API Proxy Politikaları

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 sırası:
  1. İlk Eşleşen Endpoint: İstek eşleşen ilk endpoint’e yönlendirilir
  2. API Proxy Sırası: Grup içindeki API Proxy’lerin sırası önemlidir
  3. 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.
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 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 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.
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ı

Mikroservis Grupları

İlgili mikroservislerin bir grup altında yönetilmesi. Örneğin:
  • Product Service Group
  • Order Service Group
  • Payment Service Group

Versiyon Grupları

Farklı API versiyonlarının grup halinde yönetilmesi. Örneğin:
  • API v1 Group
  • API v2 Group

Müşteri Grupları

Müşteri bazlı API grupları. Örneğin:
  • Customer A APIs
  • Customer B APIs

Fonksiyonel Gruplar

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:

Temel Bilgiler

  • Grup Adı: Grubu tanımlayan benzersiz isim
  • Açıklama: Grubun amacı ve kapsamı
  • Etiketler: Grup için etiketler (opsiyonel)

Grup İçeriği

  • API Proxy’ler: Gruba dahil edilecek API Proxy’ler
  • Politikalar: Grup seviyesi politikalar
  • Ayarlar: Grup seviyesi ayarlar

Grup Yönetimi

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.
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.
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.
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 Bazlı ACL

Grup seviyesinde erişim kontrolü tanımlanırGrup ACL’leri grup içindeki tüm API Proxy’ler için geçerlidir.

Miras Alma

Grup ACL’leri grup üyelerine miras alınırGrup üyeleri otomatik olarak grup ACL’lerini devralır.

Toplu Yönetim

Birden fazla API Proxy için toplu ACL yönetimiGrup bazlı ACL sayesinde tek seferde birden fazla API Proxy için erişim kontrolü yapılır.

Öncelik

API Proxy seviyesi ACL grup ACL’den önceliklidirAPI Proxy seviyesinde tanımlanan ACL’ler grup ACL’lerini geçersiz kılar.
Erişim kontrolü öncelik sırası:
  1. API Proxy Seviyesi ACL: En yüksek öncelik
  2. API Proxy Group Seviyesi ACL: İkinci öncelik
  3. 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.
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 Swagger/OpenAPI

Grup seviyesinde Swagger ve OpenAPI dokümantasyonuTüm grup üyelerinin birleşik Swagger ve OpenAPI dokümantasyonu.

Üye Swagger/OpenAPI

Grup üyelerinin Swagger ve OpenAPI dokümantasyonlarıHer API Proxy’nin kendi Swagger ve OpenAPI dokümantasyonu.

Birleşik Görünüm

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ü.
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.
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ı

  • Ortak politikalar tek bir yerden yönetilir
  • Değişiklikler tüm grup üyelerine otomatik uygulanır
  • Tutarlılık sağlanır
  • Birden fazla API Proxy tek bir grup altında yönetilir
  • Toplu işlemler yapılabilir
  • Yönetim karmaşıklığı azalır
  • Grup bazlı erişim kontrolü
  • Miras alınan izinler
  • Toplu ACL yönetimi

Sonraki Adımlar