
gRPC
Protocol Buffers, gRPC servisleri, streaming, interceptor'lar, hata yönetimi, metadata
1gRPC nedir?
gRPC nedir?
Cevap
gRPC, Google tarafından geliştirilen, transport protokolü olarak HTTP/2 ve varsayılan serileştirme formatı olarak Protocol Buffers kullanan açık kaynaklı bir RPC (Remote Procedure Call) framework'üdür. JSON ve HTTP/1.1 kullanan REST'ten farklı olarak gRPC, Protocol Buffers'ın ikili formatı ve HTTP/2'nin gelişmiş özellikleri (multiplexing, header sıkıştırma, server push) sayesinde daha iyi performans sunar. gRPC, çift yönlü streaming'i, client/server kod üretimini ve güçlü tip kullanımını natif olarak desteklediği için microservice'ler arası iletişimde yaygın olarak kullanılır.
2gRPC'de Protocol Buffers'ın temel rolü nedir?
gRPC'de Protocol Buffers'ın temel rolü nedir?
Cevap
Protocol Buffers (protobuf), gRPC'de varsayılan olarak kullanılan arayüz tanımlama dili (IDL) ve ikili serileştirme formatıdır. Mesaj ve servis yapılarını .proto dosyalarında tanımlamayı sağlar; bu dosyalar daha sonra farklı dillerde otomatik olarak client ve server kodu üretmek için derlenir. protobuf'un ikili formatı JSON'dan 3 ila 10 kat daha kompakttır ve önemli ölçüde üstün serileştirme/serisini çözme performansı sunar (20 kata kadar daha hızlı). Bu, gRPC'yi microservice'ler arasındaki yüksek frekanslı iletişim için özellikle uygun kılar.
3Unary bir gRPC çağrısı ile Server Streaming çağrısı arasındaki fark nedir?
Unary bir gRPC çağrısı ile Server Streaming çağrısı arasındaki fark nedir?
Cevap
Unary çağrısı en basit gRPC çağrı türüdür: client tek bir istek gönderir ve tek bir yanıt alır; bu, klasik bir HTTP REST isteğine benzer. Server Streaming çağrısı, client'ın tek bir istek göndermesine ancak sunucudan birden çok yanıttan oluşan bir akış (stream) almasına olanak tanır. Örneğin bir bildirim API'si, client'ın polling yapmasına gerek kalmadan birden çok güncelleme göndermek için Server Streaming kullanabilir. Bu, tekrarlanan Unary çağrılarına kıyasla gecikmeyi ve ağ yükünü azaltır.
gRPC sunucusu oluşturmak için hangi Go paketi kullanılır?
Bir .proto dosyasında gRPC servisi nasıl tanımlanır?
+19 mülakat soruları
Diğer Go mülakat konuları
Go Temelleri
Go Veri Yapıları
Go Arayüzleri
Hata Yönetimi
Goroutine Temelleri
Channels
Go Modules
HTTP Sunucusu
HTTP İstemcisi
JSON Kodlama
Database/SQL
context Paketi
Testing
Eşzamanlılık Desenleri
Senkronizasyon İlkelleri
Go Web Framework'leri
REST API Tasarımı
Reflection
Bellek Yönetimi
Performans Optimizasyonu
Generics
Go Design Patterns
Microservices
Güvenlik ve Kimlik Doğrulama
Docker & Containerization
Kubernetes Basics
İleri Düzey Go
CLI Geliştirme
Bir sonraki mülakatın için Go'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla