⚡ÖZET VE TEKNİK CEVAP
gRPC zaman sınırları (deadlines), bir RPC çağrısının tamamlanması gereken kesin anı belirtir; zaman sınırı yayılımı, üst istemci bağlantıyı kestiğinde tüm alt mikroservislerin ve veritabanı sorgularının anında durdurularak kaynakların kurtarılmasını sağlar.
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)
gRPC zaman sınırlarını standart göreceli HTTP zaman aşımlarından farklı uygular:
- ▸
Mutlak Zaman Sınırı ve Göreceli Süre: Servis A, Servis B'yi
deadline = şimdi + 500 msile çağırdığında gRPC her durakta kalan süreyi hesaplar. Servis B çağrıyı 100 ms sonra alırsa kalan süresi 400 ms'dir. Servis B Servis C'yi çağırırkenşimdi + 400 ms - gecikmeaktarır. - ▸
Bağlam İptal Yayılımı: Zaman sınırı dolduğunda veya istemci isteği iptal ettiğinde gRPC
CANCELLEDveyaDEADLINE_EXCEEDEDdurumluRST_STREAMpaketi yollar. Alıcı servisin çalışma zamanı (Goctx.Done(), C#CancellationToken) tetiklenerek devam eden I/O ve SQL sorgularını anında durdurur. - ▸
Veritabanı Sürücüsü Entegrasyonu: İptalin veritabanı kaynaklarını kurtarabilmesi için veritabanı sürücüsünün bu iptal belirtecini dinlemesi gerekir (örn. Go
pgxveya JDBC sorgu iptali).
İnteraktif Konsept Alıştırmaları
2 AlıştırmaServis A zaman aşımına uğradığında alt servisler gRPC zaman sınırlarını yaymıyorsa mikroservis zincirinde ne olur?
gRPC, zaman sınırı aşımını HTTP/2 taşıma katmanı üzerinden nasıl iletir?
gRPC Zaman Sınırları ve İptal Belirteci Yayılımı — Sıkça Sorulan Sorular
Bir web tarayıcısı ödeme isteği gönderip 50 ms sonra sekmeyi kapatıyor. İptal belirteçleri gRPC üzerinden PostgreSQL'e doğru iletiliyorsa ne olmalıdır?
Arka uç API'si çalışan PostgreSQL SQL sorgusunu anında iptal eder ve veritabanı bağlantısını havuza geri verir. Doğru zaman sınırı ve iptal yayılımı, veritabanı sürücüsüne iptal sinyali gönderterek sorguyu anında durdurur ve sunucu kaynaklarını serbest bırakır.
4 katmanlı bir mikroservis mimarisinde mutlak bir zaman sınırı (`şimdi + 500ms`) neden bağımsız statik zaman aşımlarından üstündür?
Çünkü önceki duraklarda harcanan süre alt durakların kalan süresini otomatik düşürür; böylece kök çağıran vazgeçtikten sonra alt servislerin çalışması engellenir. Zaman sınırları çağrı grafiğinde otomatik daralır: Servis A ve B'de 400 ms harcandıysa, Servis C istemcinin kopmasına yalnızca 100 ms kaldığını bilir.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
gRPC zaman sınırları (deadlines), bir RPC çağrısının tamamlanması gereken kesin anı belirtir; zaman sınırı yayılımı, üst istemci bağlantıyı kestiğinde tüm alt mikroservislerin ve veritabanı sorgularının anında durdurularak kaynakların kurtarılmasını sağlar.
- ▸
gRPC zaman sınırı yayılımı, dağıtık bir çağrı zincirindeki tüm ağ duraklarına kesin bir son kullanma zaman damgasının
grpc-timeoutüst verisiyle otomatik olarak aktarılmasıdır.
Yaygın Yanılgılar
- ✗
Arka uç işleyicilerinde iptal belirteçlerini yoksayıp istemci koptuktan sonra hesaplama ve döngüleri çalıştırmaya devam etmek.
Karar Kılavuzu & Önceliklendirme
Zaman sınırı ve iptal yayılımı olmadığında, ani istemci kopmaları veya küçük alt servis gecikmeleri terk edilmiş isteklerin iş parçacıklarını tüketmesiyle tüm platformun kilitlenmesine yol açar.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL-DOC]gRPC Deadlines & Cancellation Token Propagation Specification— TinyCTO Architectural Standards
