Waa Maxay gRPC (Google Remote Procedure Call)
gRPC (Google Remote Procedure Call) waa nidaam casri ah oo xawaare sare leh oo ay samaysay shirkadda Google, kaas oo loo adeegsado in lagu wada xiriiriyo adeegyada kala duwan ee software-ka (Microservices).

gRPC (Google Remote Procedure Call) waa nidaam casri ah oo xawaare sare leh oo ay samaysay shirkadda Google, kaas oo loo adeegsado in lagu wada xiriiriyo adeegyada kala duwan ee software-ka (Microservices). Si ka duwan hababka caadiga ah, gRPC wuxuu kuu oggolaanayaa inaad codsi u dirto server fog sidii adigoo u yeeraya function caadi ah oo ku dhex jira kombiyuutarkaaga (Local function call), taas oo meesha ka saaraysa kakanaanta shabakadaha.
Sirta ugu weyn ee gRPC waxay ku jirtaa habka ay xogta u qaaddo. Halkii ay ka isticmaali lahayd JSON oo ah qoraal (text) culus sida REST API-ga, gRPC waxay isticmaashaa Protocol Buffers (Protobuf). Protobuf waa hab xogta loogu beddelo "Binary" (0 iyo 1), taas oo ka dhigaysa mid aad u fudud (lightweight), aad u degdeg ah, isla markaana qaadata boos yar marka la barbar dhigo JSON. Tani waxay ka dhigaysaa gRPC doorashada koowaad ee nidaamyada u baahan xawaaraha sare.
gRPC wuxuu ku dhisan yahay HTTP/2, oo ah jiilka cusub ee internet-ka, taas oo siinaysa awoodo aysan REST lahayn. Waxaa ka mid ah "Bidirectional Streaming," oo ah in server-ka iyo client-gu ay isku mar xogta isku dhaafsan karaan hal xiriir (connection) dhexdiisa, iyadoon la kala goyn. Tusaale ahaan, server-ku wuxuu soo diri karaa jawaabo badan oo is-daba yaal halkii uu hal jawaab kaliya soo diri lahaa.
Faa'iidooyinka ugu waaweyn ee gRPC waxaa ka mid ah: Xawaare Sare (Performance): Maadaama xogtu ay tahay binary, way ka dheereysaa REST API ilaa 7-10 jeer. Code Generation: Adigoo isticmaalaya faylka .proto, waxaad si toos ah u dhalin kartaa (generate) koodka client-ka iyo server-ka luqado badan (sida Go, Java, Python, Node.js) adigoon gacanta ku qorin. Strict Typing: Khalad ma dhici karo xagga nooca xogta (data types) sababtoo ah wax walba waa in hore loo sii qeexo (schema defined).
Si kastaba ha ahaatee, gRPC kuma habboona meel kasta. Inta badan laguma isticmaalo browser-ka (Front-end) si toos ah sababtoo ah browsers-ku weli si buuxda ulama qabsan, waxaana badanaa loo baahdaa "Proxy" sida gRPC-Web. Sidaas darteed, gRPC waa boqorka Backend-to-Backend communication (sida Microservices-ka dhexdooda), halka REST ama GraphQL ay weli yihiin doorashada ugu fiican ee xiriirka u dhexeeya Browser-ka iyo Server-ka.
Haddii aad dhisayso nidaam u baahan xawaare "Real-time" ah, ama aad haysato adeegyo badan (Microservices) oo u baahan inay si hufan u wada hadlaan, gRPC waa xalka ugu casrisan ee aad isticmaali karto. Waa buundada isku xirta adeegyada waaweyn ee maanta jira.






