2.1. Senkron İletişim Protokolleri
Senkron protokoller, bir yanıt dönene kadar çağıranı bloke eder; bu da onları akıl yürütmesi kolay ama yük altında tehlikeli kılar: her alt akış yavaşlaması doğrudan kullanıcıya geri yansır. Bu bölüm, baskın istek-yanıt protokollerini tel seviyesinden itibaren inceler — REST’in HTTP sözleşmesi, HTTP/2 ve HTTP/3 multiplexing, kalıcı bağlantılar üzerinden gRPC, GraphQL’in sorgu modeli — ve hepsinin paylaştığı kesişen kaygıları: deadline yayılımı, versiyonlama ve başarısız bir çağrının aslında ne anlama geldiğini.
İncelenen Konular
Section titled “İncelenen Konular”- 2.1.1. REST: Kısıtlar, Kaynaklar ve HTTP Sözleşmeleri: REST’in mimari kısıtlarını, kaynak modellemesini ve çoğu web API’sinin temelini oluşturan HTTP sözleşmesini kapsar.
- 2.1.2. HTTP/2 ve HTTP/3: Multiplexing, HOL Blocking ve QUIC: Head-of-line blocking’i HTTP/1.1’den HTTP/2 multiplexing üzerinden HTTP/3’ün UDP üzerindeki QUIC transportuna kadar izler.
- 2.1.3. gRPC & Protocol Buffers: Yüksek Performanslı RPC: Protocol Buffers, deadline yayılımı ve status-code semantiği ile HTTP/2 üzerinde yüksek performanslı RPC’yi açıklar.
- 2.1.4. gRPC Streaming: Unary, Server-Streaming, Çift Yönlü: Dört gRPC çağrı türünü, unary’den çift yönlü akışa kadar ve akış kontrolü mekaniğini kapsar.
- 2.1.5. GraphQL: Sorgu Dili ve Federasyon Mimarisi: GraphQL’in sorgu modelini, N+1 problemini ve DataLoader’ı ve servisler arası bir grafiği birleştirmek için federasyonu detaylandırır.
- 2.1.6. WebSocket ve Server-Sent Events: Gerçek Zamanlı İletişim: WebSocket’in tam çift yönlü kanalını, istemcilere gerçek zamanlı veri göndermek için Server-Sent Events ile karşılaştırır.
- 2.1.7. API Versiyonlama Stratejileri: Bir API’yi mevcut istemcileri bozmadan evrimleştirme stratejilerini inceler: URI, header ve içerik müzakeresi.