gRPC Nedir?
İngilizce: gRPC
gRPC, servisler arası hızlı ve tip güvenli iletişim için Protocol Buffers ve HTTP/2 kullanan RPC framework'üdür.
gRPC Nedir?
gRPC, bir servisin başka bir servisteki fonksiyonu yerel çağrı yapıyormuş gibi çalıştırmasını sağlayan yüksek performanslı RPC framework’üdür. Google tarafından açık kaynak hale getirilmiştir ve servis sözleşmesini genellikle Protocol Buffers dosyalarıyla tanımlar.
REST’te kaynak URL’leri ve JSON öne çıkarken gRPC’de .proto dosyasında servisler, metodlar ve mesaj tipleri yazılır. Bu sözleşmeden farklı diller için istemci ve sunucu kodu üretilebilir.
Nasıl Çalışır?
gRPC HTTP/2 üzerinde çalışır; bu sayede tek bağlantıda çoklu istek, header sıkıştırma ve streaming desteklenir. Protocol Buffers veriyi ikili formatta seri hale getirir, bu da JSON’a göre daha küçük ve hızlı mesajlar üretebilir.
Temel çağrı türleri şunlardır:
- Unary: Tek istek, tek yanıt
- Server streaming: Tek istek, çoklu yanıt
- Client streaming: Çoklu istek, tek yanıt
- Bidirectional streaming: İki yönlü sürekli akış
İş Dünyasında Kullanımı
gRPC, mikroservisler arası iç iletişim, düşük gecikmeli finansal servisler, IoT ağ geçitleri, gerçek zamanlı veri işleme ve çok dilli backend sistemlerinde kullanılır. Tip güvenli sözleşme, ekipler arasında API kırılmalarını daha erken yakalamaya yardım eder.
Genel internet istemcileri, tarayıcılar ve basit entegrasyonlar için REST API veya GraphQL daha rahat olabilir. gRPC seçimi, performans ihtiyacı kadar operasyonel gözlemleme, load balancing ve gateway desteğiyle birlikte değerlendirilmelidir.