Sayfalar

13 Şubat 2025 Perşembe

GRPC Nedir?


       Google’ın geliştirdiği Remote Procedure Call, yani başka bir servis ya da uzak sunucudaki bir metodu sanki kendi servisimizin metoduymuş gibi kullanabilmemizi sağlayan, client-server ilişkisindeki iletişimi kolay ve hızlıca sunan bir frameworktür.

      RPC aslında eskiden beri varolan bir yöntemdir. Yani yeni bir konsept değildir ancak HTTP 2.0 ile birlikte Google iş birliği çerçevesinde oldukça kullanılabilir ve servisler arası iletişimde fayda sağlar hale gelmiştir. RPC: Client’ın direkt olarak servisteki bir fonksiyonu/metodu çalıştırması olarak genellenebilir. gRPC açık kaynak ve ücretsiz olarak Google’ın geliştirdiğin bir frameworktür ve Cloud Native Computing Foundation (CNCF) ekosisteminin bir parçasıdır.High level olarak baktığımızda metotlar ve yöntemler gRPC için tanımlanır ve geri kalan her şeyi framework halleder.

Protocol Buffer (ProtoBuf) Nedir?

gRPC için kullanılan verinin binary olarak serialization yapan haberleşme protokolüdür. Servislerin metotlarını ve mesajları tanımlayıp, gRPC senin için kodları generate eder ve kolayca kullanımına sunar, bizim için geriye sadece implementasyonları gerçekleştirmek kalır.

Protocol Buffer ile gRPC

  • Dil bağımsızdır.
  • Herhangi bir dile kolayca entegre olabilir
  • Veriler binary şeklinde ve serialized konumdadır. HTTP 1.1'de ise açık metin olarak gönderilmektedir.
  • Aynı servis bağlantısı üzerinden birden çok paralel istek gönderebilmek için çoğullama (Multiplexing) desteği mevcuttur. HTTP 1.1’de bir seferde bir istek / yanıt sınırlaması mevcuttur.
  • Bidirectional full-duplex yani aynı anda client isteklerini ve server yanıtlarını gönderip alabilmek için çift yönlü iletişim desteği sunar.
  • Streaming özelliği ile birlikte büyük-veri alışverişlerine uygundur.[Gökhan Ayrancıoğlu makalesinden alıntı]