gRPC Yönlendirme
API tipi gRPC ise, bu sekme görünür.
Bu bölümde, gRPC API Proxy Tipi için yönlendirme ayarları yer almaktadır.
API Proxy, istemciden gelen mesajları karşılayıp varsa politikaları işlettikten sonra, mesajı Backend API'ye yönlendirir. Yönlendirme sekmesi, işte bu yönlendirme işleminin nasıl yapılacağının ayarlandığı sekmedir.
Yönlendirme Sekmesi ayarlarını içeren görsele aşağıda yer verilmiştir:
Yeni Adres Ekleme
Yapılandır butonuyla açılan pencerenin en sağındaki kolon başlığı bölgesindeki ➕ tuşuna tıklandığında açılan pencereden yeni bir adres eklenebilir.
Yeni adres ekleme penceresinde:
- Adres alanına backend API adresi girilir veya ortam değişkeni kullanılır
- Adres alanının sağındaki liste ikonu butonuna tıklanarak Ortam Değişkenleri Seçim Dialog'u açılabilir
- Seçilen ortam değişkeni panoya kopyalanır ve adres alanına yapıştırılır
Adresi Güncelleme
Adresleri gösteren tablonun Adres (Address) kolonundaki Yapılandır (Configure) tuşuna tıklandığında açılan pencerede adres güncellenebilir.
Eğer bu değer otomatik olarak bulunduğu ortama göre değişmesi isteniyorsa Ortam Değişkenleri (Environment Variable) içinden seçim yapılabilir.
Adresleri gösteren tablonun Adres (Address) kolonundaki Yapılandır (Configure) tuşuna tıklandığında açılan pencerede adres güncellenebilir.
Ortam Değişkenleri (Environment Variable) Seçimi için açılan dialog detayı aşağıdaki görselde belirtilmiştir.
Adres giriş alanının sağında bulunan liste ikonu butonuna tıklandığında Ortam Değişkenleri Seçim Dialog'u açılır. Bu dialog üzerinden projede tanımlı tüm ortam değişkenleri (Environment Variables) görüntülenebilir ve seçilebilir.
Ortam Değişkenleri Seçim Dialog'unda:
- Tüm ortam değişkenleri listelenir (Global ve Environment-Specific)
- Arama kutusu ile değişken adı veya açıklamasına göre filtreleme yapılabilir
- Her değişken için Key Name, Açıklama , Tip bilgileri görüntülenir
- Kopyala (Copy) butonu ile seçilen değişkenin formatı (
${variableName}) otomatik olarak panoya kopyalanır - Kopyalanan değer adres alanına yapıştırılarak kullanılabilir
Örnek Kullanım:
- Ortam değişkeni:
GRPC_BACKEND_URL = localhost:50051(Development ortamı için) - Ortam değişkeni:
GRPC_BACKEND_URL = grpc.example.com:443(Production ortamı için) - Adres alanına girilen değer:
${GRPC_BACKEND_URL} - Runtime'da Development ortamında:
localhost:50051 - Runtime'da Production ortamında:
grpc.example.com:443
Routing Algorithm
Yük dengeleme için kullanılabilecek algoritmalardan hangisinin kullanılacağı kullanıcı tarafından belirlenebilir.
| Algoritma | Açıklama |
|---|---|
| Round Robin | İstek mesajları listedeki adreslere sıra ile gönderilir. Listenin sonuna gelindiğinde listenin başına dönülür ve aynı döngü devam eder. |
| Pick First | İstek mesajları listesindeki ilk adrese yönlendirme yapılır. |
Adres Silme
Silinmek istenen adresin satır sonundaki açılır menüsünden **Kaldır ** seçeneği seçilerek adres silinir.
API Proxy'nin yönlendirme yapabilmesi için en az bir adres olması gerekir. Bu nedenle en son adres için silindikten sonra kaydet butonu pasif olur ve kaydetmeye izin vermez.
Bağlantı Ayarları Konfigürasyonu
gRPC Bağlantı Ayarları Tanımlama Sekmesi, gRPC protokolü üzerinden yapılan bağlantıların yapılandırılmasını sağlar. Bu sekme, bağlantıların performansını ve güvenliğini optimize etmek için gerekli olan çeşitli parametreleri içerir. Aşağıda, bu sekmede yer alan ayarların detayları verilmiştir.
Bağlantı ayarları konfigürasyonu için kullanılan parametreler aşağıda görülmektedir.
| Alan | Açıklama |
|---|---|
| Maksimum Gelen Mesaj Boyutu (Max Inbound Message Size) | İstemciden alınabilecek maksimum mesaj boyutunu belirler. |
| Maksimum Gelen Meta Verisi Boyutu (Max Inbound Metadata Size) | İstemciden alınabilecek maksimum meta verisi boyutunu belirler. |
| Keep Alive Time (Keep Alive Time) | Bağlantının canlı tutulması için geçen süreyi ayarlar. |
| Keep Alive Timeout (Keep Alive Timeout) | Keep Alive mesajlarının zaman aşımını belirler. |
| Keep Alive Without Calls (Keep Alive Without Calls) | Çağrı olmadan bağlantının canlı tutulup tutulmayacağını ayarlar. |
| Channel Idle Timeout (Channel Idle Timeout) | Kanalın boşta kalma süresini belirler. |
| Per RPC Buffer Limit (Per RPC Buffer Limit) | Her RPC için ayrılacak tampon bellek limitini tanımlar. |
| Max Retry Attempts (Max Retry Attempts) | Yeniden deneme için maksimum deneme sayısını belirler. |
| Max Hedged Attempts (Max Hedged Attempts) | Aynı isteğin birden fazla kez gönderilmesi durumunda maksimum deneme sayısını ayarlar. |
| Max Trace Events (Max Trace Events) | İzleme olaylarının maksimum sayısını belirler. |
| User Agent'i Backend'e Gönder (Send User Agent to Backend) | Backend'e istek gönderilirken User Agent bilgisinin gönderileceği bilgisidir. Bu seçenek etkinleştirildiğinde, User-Agent değeri özelleştirilebilir. |
| SSL/TLS Doğrulamayı Kapat (Disable SSL/TLS Validation) | Bu alan ekranda gösterilir ancak gRPC bağlantısına uygulanmaz. gRPC'de TLS, yalnızca Güvenli Bağlantı Ayarları ile yönetilir. |
Güvenli Bağlantı Ayarı
Bu ayar etkinleştirildiğinde Apinizer, backend gRPC servisine TLS ile bağlanır. Ayar kapalıyken bağlantı TLS olmadan (plaintext) kurulur.
TLS bağlantısında Apinizer, seçilen Keystore'daki istemci sertifikasını backend'e sunar ve backend sertifikasını Truststore ile doğrular.
Bağlantı ayarları konfigürasyonu için kullanılan parametreler aşağıda görülmektedir.
| Alan | Açıklama |
|---|---|
| Keystore | Backend'e sunulacak istemci anahtarı ve sertifikasını içeren anahtar deposudur. İçeriğinde client private key, istemci sertifikası ve (varsa) intermediate ve root CA sertifikalarından oluşan sertifika zinciri bulunmalıdır. gRPC'de Güvenli Bağlantı etkinken Keystore seçilmesi zorunludur; seçilmezse veya aktif ortamda bulunamazsa bağlantı kurulamaz. |
| Truststore | Backend sunucu sertifikasını doğrulamak için kullanılır. İçeriğinde hedef sunucunun root CA sertifikası ve (varsa) intermediate CA sertifikaları bulunmalıdır. Truststore seçilmezse JVM'in varsayılan güvenilir sertifika deposu kullanılır. Truststore ayrı bir kayıt türü değildir: JKS/PKCS12 dosyanız Gizli Anahtar → Anahtar Depoları altına bir anahtar deposu kaydı olarak yüklenir ve burada o kayıt seçilir. |
| SSL Doğrulamasını Atla (Skip SSL Verification) | Ekranda gösterilir ancak gRPC bağlantısına uygulanmaz; backend sertifikası her zaman Truststore (ya da JVM varsayılanı) ile doğrulanır. |
| Desteklenen Protokol Listesi (Supported Protocol List) | Ekranda gösterilir ancak gRPC bağlantısına uygulanmaz; TLS sürümü gRPC istemcisinin varsayılanlarıyla belirlenir. |
| Hostname Doğrulama Tipi (Hostname Verifier Type) | Ekranda gösterilir ancak gRPC bağlantısına uygulanmaz. |
Güvenli Bağlantı ayarları etkin olduğunda routing'de var olan, ortam ayarlarında değerleri belirtilen "http connection pool" devre dışı bırakılır.