⚡ÖZET VE TEKNİK CEVAP
gRPC HTTP/2 protokolü üzerinde çalışarak 4 farklı uzak prosedür çağrısı (RPC) modeli sunar:
Unary RPC: Klasik istek/yanıt (istemci 1 mesaj atar, sunucu 1 mesaj döner).
Sunucu Akışı (Server Streaming): İstemci 1 istek atar, sunucu sürekli bir veri akışı döner (canlı log takibi, borsa fiyat akışı).
İstemci Akışı (Client Streaming): İstemci parçalı veri akışı yükler, sunucu tek bir özet yanıt döner (büyük dosya yükleme).
Çift Yönlü Akış (Bidirectional Streaming): İstemci ve sunucu tek bir TCP bağlantısı üzerinde birbirine eşzamanlı ve bağımsız mesaj akışı gönderir (gerçek zamanlı oyunlar, canlı AI çıkarımı). Hızlı bir üretici yavaş bir tüketiciye işleyebileceğinden hızlı veri gönderirse, bellek dolar ve OOM Çökmesi yaşanır. gRPC bunu HTTP/2 Kredi Tabanlı Akış Kontrolü (Flow Control Backpressure) ile çözer: Alıcı WINDOW_UPDATE çerçeveleriyle bayt kredisi verir; kredi bittiğinde gönderici soketi alıcı belleği boşaltana kadar gönderimi otomatik olarak durdurur.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
Bir yapay zeka ses platformu, LLM modelinden çıkan 24kHz ses parçalarını 10.000 mobil kullanıcıya WebSocket üzerinden JSON ile iletiyordu. JSON kodlaması ve geri basınç (backpressure) olmaması zayıf 4G bağlantılarında mobil belleğin şişmesine ve oturumların %18'inin çökmesine yol açıyordu. Ekip WebSocket yerine Protocol Buffers tabanlı gRPC Sunucu Akışına (Server Streaming) geçti. Mobil kullanıcı tünele girip interneti yavaşladığında, istemcinin HTTP/2 penceresi doldu ve arka uçtaki gRPC sunucusu veri göndermeyi otomatik olarak bekletti. Mobil çökmeler %0,01'e geriledi ve sunucu bant genişliği tüketimi %62 azaldı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmagRPC tarafından desteklenen 4 iletişim modeli hangileridir?
HTTP/2 pencere akış kontrolü gRPC akışında geri basıncı (backpressure) nasıl sağlar?
gRPC İletişim Modelleri: Unary, Çift Yönlü Akış (Streaming) ve HTTP/2 Akış Kontrolü Geri Basıncı — Sıkça Sorulan Sorular
Standart L4 TCP yük dengeleme gRPC akışları için neden yetersizdir?
Çünkü gRPC tüm istekleri tek bir uzun ömürlü TCP bağlantısı üzerinde çoklar; L4 yük dengeleyici tüm TCP bağlantısını tek bir sunucuya verir ve L7 proxy (Envoy) kullanılmazsa sunucular arasında aşırı dengesiz yük oluşur.
gRPC Keepalive sinyallerinin amacı nedir?
Uzun ömürlü akışlarda periyodik HTTP/2 PING paketleri göndererek bulut NAT ağ geçitlerinin ve güvenlik duvarlarının bağlantıyı sessizce kapatmasını engellemek.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
gRPC 4 etkileşim modeli sunar: Unary, İstemci Akışı, Sunucu Akışı, Çift Yönlü Akış.
- ▸
HTTP/2 akış kontrol pencereleri otomatik kredi tabanlı geri basınç (backpressure) sağlar.
- ▸
Hızlı üreticilerin yavaş tüketicileri aşırı yükleyip OOM ile çökertmesini engeller.
- ▸
Çoklanmış gRPC akışlarını sunuculara dengeli dağıtmak için Envoy gibi L7 proxy'ler kullanın.
Yaygın Yanılgılar
- ✗
Yanılgı: gRPC her çağrı için yeni bir TCP bağlantısı açar (Gerçek: gRPC yüzlerce eşzamanlı çağrıyı tek bir kalıcı TCP bağlantısı üzerinden çoklar).
- ✗
Yanılgı: Akış mesajlarını sınırsız bir bellek kuyruğunda toplamak hızı artırır (Gerçek: Sınırsız kuyruklar geri basıncı yok eder ve uygulamanın bellek yetersizliğinden çökmesine yol açar).
Karar Kılavuzu & Önceliklendirme
Yüksek verimli, düşük gecikmeli servisler arası iletişim ve gerçek zamanlı veri hatlarında yerel HTTP/2 geri basıncına sahip gRPC Akış modellerini tercih edin.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]gRPC Core Concepts: RPC Life Cycle, Streaming & Flow Control— The gRPC Authors (Linux Foundation)
