gRPC āĻāĻŋ?
gRPC āĻšāϞ API āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāĻāϞāĻŋāϤ RPC āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āϏāĻāϏā§āĻāϰāĻŖāĨ¤ gRPC āĻāĻŦāĻ āĻāϰ āϏā§āĻŦāĻŋāϧāĻž-āĻ āϏā§āĻŦāĻŋāϧāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāĻŦāĻāĻŋāĻā§ āĻāĻžāύāϤ⧠āĻĒāĻĄāĻŧā§āύ!

āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāĻā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻžāϰāĻŖā§ āĻ āύā§āϝ āĻā§āĻĄā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāύā§āĻāĻŋāĻā§āϰā§āĻļāύ āĻĨā§āĻā§ āĻļā§āϰ⧠āĻāϰ⧠āύāϤā§āύ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϝā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϝā§āĻā§āύ⧠āĻāĻŋāĻā§ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻ āύā§āϝāĻžāύā§āϝ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āϞāĻŋāĻā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§ āϤāĻžāĻĻā§āϰ āĻāĻā§āĻāϰāĻŖ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤā§, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž API s āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻ āĻāĻžāϰāĻŖā§āĻ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāĨ¤ āϏāĻŋāϏā§āĻā§āĻŽ āĻā§āĻĄāĻŧā§ āĻāĻāĻāĻŋ āϏā§āϤ⧠āĻšāĻŋāϏāĻžāĻŦā§ āϤāĻžāĻĻā§āϰ āĻā§āĻŽāĻŋāĻāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§, APIāĻā§āϞāĻŋ āĻŦā§āϝāĻā§āϤāĻŋāĻĻā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāϝāĻŧā§āĻŦ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ āĻ āϤāĻāĻŦ, āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻāĻāĻāĻŋ API āĻ āĻĢāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāϝā§āĻā§āϤ āĻĒā§āϰāϝā§āĻā§āϤāĻŋ āĻŦāĻžāĻāĻžāĻ āĻāϰāĻž āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤
āϝ⧠āĻā§āύāĻ āϏāĻāϏā§āĻĨāĻž āϝ⧠āϤāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āϏāĻžāĻĨā§ āϤāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻŦāĻž āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻļā§āϝāĻŧāĻžāϰ āĻāϰāϤ⧠āĻāĻžāϝāĻŧ āϤāĻžāĻĻā§āϰ API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻĒāĻŋāĻāĻāĻā§āϞāĻŋāĻā§ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ āύāĻŋāĻā§āĻāϤ āĻāĻĒāϝā§āĻā§āϤ āĻāϰ⧠āϤā§āϞāĻžāϰ āĻāύā§āϝ āĻ āύā§āĻāĻā§āϞāĻŋ āĻāĻĒāĻžāϝāĻŧ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻĒāĻŋāĻāĻ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰāϰāĻž āϝ⧠āϏāϰā§āĻŦāĻļā§āώ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻā§ āϤāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻšāϞ gRPC āĨ¤ āĻāϏā§āύ gRPC āĻā§ āĻāĻŦāĻ āĻāϰ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŦāĻ āĻ āϏā§āĻŦāĻŋāϧāĻžāĻā§āϞāĻŋ āĻĻā§āĻāĻŋāĨ¤
gRPC āĻāĻŋ?
gRPC āĻāϰ āĻ āϰā§āĻĨ āĻšāϞ Google Remote Procedure Call āĨ¤ gRPC āĻšāϞ āĻāĻāĻāĻŋ āĻāĻĒā§āύ āϏā§āϰā§āϏ RPC āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āϝāĻž āϏā§āĻā§āϞāϝā§āĻā§āϝ āĻāĻŦāĻ āĻĻā§āϰā§āϤ API āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻŦāĻŋāĻāĻžāĻļ āĻāĻŦāĻ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻā§āϞāĻž āϝā§āĻāĻžāϝā§āĻ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ Google, IBM, Netflix āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§ āϏāĻš āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻļā§āϰā§āώ āĻĒā§āϰāϝā§āĻā§āϤāĻŋ āĻā§āĻŽā§āĻĒāĻžāύāĻŋ gRPC āĻā§āϰāĻšāĻŖ āĻāϰā§āĻā§āĨ¤ gRPC āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āϏāϰā§āĻŦā§āϤā§āϤāĻŽ API āϏā§āϰāĻā§āώāĻž, āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϰāĻŋāĻŽā§āĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻāϞ āĻāĻŦāĻ āϏā§āĻā§āϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ āĻāύā§āϝ HTTP/2, āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§āϰ āĻŽāϤ⧠āĻ āϤā§āϝāĻžāϧā§āύāĻŋāĻ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāϰ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤

RPC āĻā§āϞāĻŋ āĻāĻŋ?
RPC āĻāĻŦāĻ REST - Representational State Transfer - āĻāϤāĻŋāĻšāĻžāϏāĻŋāĻāĻāĻžāĻŦā§ API āϤā§āϰāĻŋāϰ āĻĻā§āĻāĻŋ āĻĒā§āĻĨāĻ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤ āĻāĻĒāϰāύā§āϤā§, SOAP āĻāĻŦāĻ GraphQL āĻāϰ āĻŽāϤ⧠āĻĒā§āϰā§āĻā§āĻāϞāĻā§āϞāĻŋāĻ āĻāĻ āĻāĻĻā§āĻĻā§āĻļā§āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻĻā§āϰāĻŦāϰā§āϤ⧠āĻĒāĻĻā§āϧāϤāĻŋ āĻāϞāĻā§āϞāĻŋ āĻāĻĒāύāĻžāĻā§ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āϞāĻŋāĻāϤ⧠āĻĻā§āϝāĻŧ āϝā§āύ āĻāĻāĻŋ āϏā§āĻĨāĻžāύā§āϝāĻŧāĻāĻžāĻŦā§ āĻāϞāĻŦā§, āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻāϞāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻā§āϞāĻŋ API āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻŦāĻā§āϝāĻŧā§ āĻĒā§āϰāĻāϞāĻŋāϤāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻāĨ¤ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ HTTP āĻĒā§āϰā§āĻā§āĻāϞ āĻāϞā§āϰ āĻŦāĻŋāĻĒāϰā§āϤā§, āĻāĻāĻāĻŋ RPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ-āϏāĻžāϰā§āĻāĻžāϰ āĻāύā§āĻāĻžāϰāĻ ā§āϝāĻžāĻāĻļāύā§āϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻāϞ āύāĻŋāϝāĻŧā§āĻ āĻāϰā§āĨ¤ RPC āĻšāϞ āĻāĻĒāĻŋāĻāĻ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āĻĒāĻžāĻĻāύāĻļā§āϞ āĻā§āĻļāϞ āϝā§āĻšā§āϤ⧠āĻāĻā§āϏāĻā§āĻā§āĻāĻā§āϞāĻŋ āϏāĻšāĻ, āĻāĻŦāĻ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āĻā§āϞāĻŋ āĻšāĻžāϞāĻāĻžāĨ¤ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāĻ āĻāĻ āϝā§āĻāĻžāϝā§āĻ āϏā§āĻĨāĻžāĻĒāϤā§āϝā§āϰ āĻ āύā§āĻāϰāĻŖ āĻāϰā§āĨ¤ RPCIDL - Interface Definition Language āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻāĻž āĻāĻžāĻāĻĒ āĻāĻŦāĻ āϝ⧠āĻĒāĻĻā§āϧāϤāĻŋāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāĻŦā§ āϤāĻž āĻā§āĻā§āϤāĻŋāϤā§āĨ¤ RPCs āĻĨā§āĻā§ āĻā§āĻšā§āϤ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻž āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ āĻŦāĻāϰāĻā§āϞāĻŋāϤ⧠āĻā§āĻŦ āĻāύāĻĒā§āϰāĻŋāϝāĻŧ āĻšāϝāĻŧā§ āĻāĻ ā§āĻā§āĨ¤
āĻā§āύ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ?
āϝā§āĻšā§āϤ⧠āĻāϰāĻ āĻāύā§āĻāĻžāϰāĻĒā§āϰāĻžāĻāĻāĻā§āϞāĻŋ āĻāĻā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻā§āϞāĻā§, āĻāĻ āĻāĻžāϤā§āϝāĻŧ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āϞāĻŋāĻā§āĻ āĻāϰāĻž āĻāĻ āĻŋāύ āĻšāϝāĻŧā§ āĻāĻ āĻā§āĨ¤ RPC APIs āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž āĻā§āϝāĻžāϞā§āĻā§āĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻā§āĻāĻāĻŋāĻĒā§āϰā§āĻŖ āĻāĻžāϰāĻŖ āϤāĻžāϰāĻž āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻāϤāĻž āĻĒā§āϰāĻāĻžāĻļ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻā§āϞāĻŋ āĻ āύā§āĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāϝāĻŧ āĻŦāĻŋāĻāĻļāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ āĻ āύā§āϤāϰā§āύāĻŋāĻšāĻŋāϤ āĻāĻžāĻ āĻžāĻŽā§āϰ āϏāĻžāĻĨā§ āĻāύāĻŋāώā§āĻ āĻāĻžāĻŦā§ āĻāĻŦāĻĻā§āϧāĨ¤
āĻāĻ āϏāĻŽāϏā§āϝāĻžāĻāĻŋāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŦāĻ 2000 āϏāĻžāϞ⧠āϝāĻāύ REST API āĻāĻžāϞ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ āϤāĻāύ API āĻ ā§āϝāĻžāĻā§āϏā§āϏāĻŋāĻŦāĻŋāϞāĻŋāĻāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ⧎ āĻŦāĻŋāĻļā§āώāϤ, āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ GET, PUT, POST, āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝāĻĻā§āϰ āĻŽāϤ⧠āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ HTTP āĻā§āĻļāϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻŽā§āĻĒāĻĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĒāϰā§āĻā§āώāĻāĻžāĻŦā§ āϤāĻĨā§āϝ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ āĻāĻĒāĻžāϝāĻŧ āĻĻāĻŋāϝāĻŧā§āĻā§ā§ˇ REST API āĻĨā§āĻā§ RPC āĻāϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻšāϞ RPC āĻāϰ āϏāĻžāĻĨā§, āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāĻā§ āϏāĻŽā§āĻŦā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻā§ āĻšāϤ⧠āĻĒāĻžāϰ⧠āϤāĻž āĻĒā§āϰā§āĻŦāĻžāĻāĻžāϏ āĻĻā§āĻāϝāĻŧāĻž āϏāĻšāĻ āύāϝāĻŧāĨ¤
REST API āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āϏāĻšāĻāĻŦā§āϧā§āϝ āĻāĻŦāĻ āϞāĻžāĻāĻāĻāϝāĻŧā§āĻ RPC āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĻŋ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āĻĒā§āϰāĻā§āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖā§ āĻŽā§āĻāĻžāĻĄā§āĻāĻž āϤā§āϰāĻŋ āĻāϰā§, āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻ āύā§āĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāύā§āύāϤ āĻŦāĻŋāύā§āϝāĻžāϏ āĻ āĻĢāĻžāϰ āĻāϰā§āĨ¤ āĻāϰ āĻĢāϞ⧠āĻĢā§āϏāĻŦā§āĻā§āϰ GraphQL āĻāĻŦāĻ āĻā§āĻāϞā§āϰ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻāĻŦāĻŋāϰā§āĻāĻžāĻŦ āĻāĻā§āĨ¤
Google 2015 āϏāĻžāϞ⧠gRPC āϤā§āϰāĻŋ āĻāϰā§āĻā§ RPC āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āϏāĻāϝā§āĻāύ āĻšāĻŋāϏā§āĻŦā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻā§āĻļāϞā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āϤā§āϰāĻŋ āĻ āϏāĻāĻā§āϝ āĻŽāĻžāĻāĻā§āϰā§āϏāĻžāϰā§āĻāĻŋāϏā§āϏ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻā§ āϏāĻāϝā§āĻā§āϤ āĻāϰāϤā§āĨ¤ gRPC āĻŽā§āϞāϤ āĻā§āĻāϞā§āϰ āĻŽā§āϞ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§āϰ āϏāĻžāĻĨā§ āĻāύāĻŋāώā§āĻ āĻāĻžāĻŦā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻāĻŋāϞ āĻāĻŋāύā§āϤ⧠āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻāĻāĻŋāĻā§ āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖ āĻāύāĻāĻŖā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻĒā§āϰāĻŽāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
gRPC āϧāĻžāϰāĻŖāĻžāϰ āĻāĻāĻžāϰāĻāĻŋāĻ
āĻ āϤā§āϝāĻžāϧā§āύāĻŋāĻ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ, āϝāĻž JSON āĻāĻŦāĻ XML-āĻāϰ āϤā§āϞāύāĻžāϝāĻŧ āĻāĻā§āĻ āĻāĻžāϰā§āϝāĻā§āώāĻŽāϤāĻž āϏāĻŽā§āĻĒāύā§āύ āĻāĻŦāĻ āĻ āϧāĻŋāĻāϤāϰ API āĻ āĻāĻŖā§āĻĄāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, gRPC āĻāϰ āϏā§āώā§āĻāĻŋ āĻāĻŦāĻ āĻāύāĻĒā§āϰāĻŋāϝāĻŧāϤāĻžāϰ āĻāύā§āϝ āĻĻāĻžāϝāĻŧā§ā§ˇ āĻāĻŋāĻā§ gRPC āϧāĻžāϰāĻŖāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĒāύāĻžāϰ āϏāĻā§āϤāύ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ:
āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ
āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ, āϝāĻž Protobuf āύāĻžāĻŽā§āĻ āĻĒāϰāĻŋāĻāĻŋāϤ, āĻšāϞ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻŦāĻž āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϝāĻž āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāĻā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻā§āĻĄ āϤā§āϰāĻŋ āĻāϰāĻž āϏāĻšāĻ āĻāϰ⧠āϤā§āϞā§āĨ¤ āϏāĻŦāĻā§āϝāĻŧā§ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ āϏāĻāϏā§āĻāϰāĻŖ, proto3, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϏāĻšāĻ āĻāĻŦāĻ gRPC āĻāϰ āĻāύā§āϝ āύāϤā§āύ āĻā§āώāĻŽāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
.Proto āĻĢāĻžāĻāϞāĻā§āϞāĻŋ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠gRPC āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻŦāĻ āϝā§āĻāĻžāϝā§āĻ āϏāĻā§āώāĻŽ āĻāϰā§ā§ˇ Protobuf āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ - protoc āĻĻā§āĻŦāĻžāϰāĻž āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āϏāĻŽāϝāĻŧ .proto āĻĢāĻžāĻāϞāĻāĻŋ āĻŽā§āĻŽāϰāĻŋāϤ⧠āϞā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰāĻāĻŋ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ gRPC āϏāĻžāϰā§āĻāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰ⧠āϝāĻž āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĄā§āĻāĻž āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāĻŦāĻ āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāύ-āĻŽā§āĻŽāϰāĻŋ āĻāĻžāĻ āĻžāĻŽā§ āύāĻŋāϝāĻŧā§āĻ āĻāϰā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϝā§āĻāĻžāϝā§āĻ gRPC -āϤ⧠āĻā§āĻĄ āϤā§āϰāĻŋāϰ āĻĒāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻŦāĻ āĻĻā§āϰāĻŦāϰā§āϤ⧠āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻŽāϧā§āϝ⧠āĻĒāĻžāĻ āĻžāύ⧠āĻāĻŦāĻ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āϝā§āĻšā§āϤ⧠āĻĄā§āĻāĻž āĻāĻāĻāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻāĻāĻžāϰ⧠āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āϏāĻāĻā§āϤāĻā§āϞāĻŋ āĻā§āĻ āĻšāϝāĻŧ, āϤāĻžāĻ Protobuf āĻāϰ āϏāĻžāĻĨā§ āĻĒāĻžāϰā§āϏāĻŋāĻ gRPC āĻāύā§āϝ āĻāĻŽ CPU āĻļāĻā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āϤāĻžāĻ, āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻĻā§āϰā§āĻŦāϞ CPU āϏāĻš āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰā§, āϝā§āĻŽāύ āϏā§āϞ āĻĢā§āύ, āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ gRPC āĻāϰ āϏāĻžāĻĨā§ āĻāϰāĻ āĻĻā§āϰā§āϤ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧāĨ¤
HTTP/2
gRPC āĻĒāϰāĻŋāώā§āĻŦāĻž HTTP/2-āϤ⧠āύāĻŋāϰā§āĻŽāĻŋāϤ, HTTP/1.1-āĻāϰ āϏāĻāϏā§āĻāϰāĻŖ āϝāĻžāϰ āĻāĻŽ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āϰāϝāĻŧā§āĻā§āĨ¤ āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻĒā§āϰāĻžāύ⧠HTTP āĻĒā§āϰā§āĻā§āĻāϞā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§, HTTP/2-āĻ gRPC āĻāϰ āĻāύā§āϝ āĻŦā§āĻļ āĻāĻŋāĻā§ āĻĒāϰāĻŋāĻļā§āϞāĻŋāϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĢā§āϰā§āĻŽāĻŋāĻ āϏā§āϤāϰ āϰāϝāĻŧā§āĻā§, āϝāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ HTTP/2 āĻā§āϝā§āϝāĻŧāĻžāϰā§āĻā§ āĻŦāĻŋāĻāĻā§āϤ āĻāϰ⧠āĻāĻŦāĻ āĻā§āĻ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϤ⧠āĻāϤā§āϤāϰ āĻĻā§āϝāĻŧ āĻāĻŦāĻ āĻŦāĻžāϰā§āϤāĻž āĻŦāĻŋāϤāϰāĻŖāĻā§ āĻāύā§āύāϤ āĻāϰāϤ⧠āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĢāϰā§āĻŽā§āϝāĻžāĻā§ āĻĢā§āϰā§āĻŽ āĻāϰā§āĨ¤ āĻāĻĒāϰāύā§āϤā§, gRPC āĻĻā§āĻŦāĻŋāĻŽā§āĻā§ āĻĢā§āϞ-āĻĄā§āĻĒā§āϞā§āĻā§āϏ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ-āĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ gRPC āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻāĻāĻžāϧāĻŋāĻ āĻ āύā§āϰā§āϧ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤
HTTP/2-āĻāϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻŦāĻžāĻš āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻĒāĻĻā§āϧāϤāĻŋ āϰāϝāĻŧā§āĻā§ āϝāĻž āĻāύ-āĻĢā§āϞāĻžāĻāĻ āĻĒā§āϝāĻžāĻā§āĻāĻā§āϞāĻŋāĻā§ āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ RAM āĻāϰ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ āĻāĻāĻŋ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻšā§āĻĄāĻžāϰ āĻāĻŽā§āĻĒā§āϰā§āĻļāύāĻ āĻ āĻĢāĻžāϰ āĻāϰā§āĨ¤ āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ/2-āĻāϰ āϏāĻŦāĻāĻŋāĻā§āĻ āĻā§āϰāĻžāύā§āϏāĻŽāĻŋāĻļāύā§āϰ āĻāĻā§ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻŽāύāĻāĻŋ āĻšā§āĻĄāĻžāϰ, āϝāĻž āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϰāĻŋāĻŽā§āĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻāϞ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ gRPC HTTP/2 āĻāϰ āϏāĻžāĻĨā§ āĻ ā§āϝāĻžāϏāĻŋāĻā§āĻā§āϰā§āύāĻžāϏ āĻāĻŦāĻ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāϏ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻāĻāϝāĻŧāĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āϝāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āĻāύā§āĻāĻžāϰā§āĻā§āĻāĻŋāĻ āĻāĻŦāĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻāϰāĻž RPC āĻĒā§āϰāĻāĻžāϰā§āϰ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻā§ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤
HTTP/2-āĻāϰ āĻāĻ āϏāĻŽāϏā§āϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāϰ āϏāĻžāĻšāĻžāϝā§āϝā§, gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āĻāĻŽ āϏāĻāϏā§āĻĨāĻžāύāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝāĻž āĻā§āϞāĻžāĻāĻĄ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻŦāĻ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻĻā§āϰā§āϤ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻŦāĻ āĻŽā§āĻŦāĻžāĻāϞ āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āĻāύā§āϝ āĻāϰāĻ āĻŦā§āĻļāĻŋ āĻŦā§āϝāĻžāĻāĻžāϰāĻŋ āϞāĻžāĻāĻĢā§āϰ āĻĻāĻŋāĻā§ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāϰā§ā§ˇ
āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ
āĻāĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϧāĻžāϰāĻŖāĻž āϝāĻž gRPC āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āϤāĻž āĻšāϞ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ, āϝāĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻ āύā§āϰā§āϧā§āϰ āĻŽāϧā§āϝ⧠āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ gRPC āĻāĻāĻŋ HTTP/2 āĻāϰ āĻŽāĻžāϞā§āĻāĻŋāĻĒā§āϞā§āĻā§āϏāĻŋāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻŽā§āĻāĻŦāĻĒāϰ āĻāϰ⧠āϤā§āϞā§, āϝāĻž āĻāĻāĻāĻŋ TCP - Transmission Control Protocol - āϏāĻāϝā§āĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻžāϧāĻŋāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻŦāĻž āĻ āύā§āϰā§āϧ āĻĒāĻžāĻ āĻžāύ⧠āĻŦāĻž āĻā§āϰāĻšāĻŖ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ āĻĢāϰā§āĻŽā§āϝāĻžāĻāĻā§āϞāĻŋ āĻšāϞ āϏāĻžāϰā§āĻāĻžāϰ-āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ RPC, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ-āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ RPC, āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻŽā§āĻā§-āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ RPC āĻā§āϞāĻŋāĨ¤
āĻā§āϝāĻžāύā§āϞ
HTTP/2 āϏā§āĻā§āϰā§āĻŽāĻā§āϞāĻŋāϰ āĻŦāĻŋāĻĒāϰā§āϤā§, āϝāĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻ āύā§āϰā§āϧ āϏāĻāϝā§āĻā§ āĻ āϏāĻāĻā§āϝ āϝā§āĻāĻĒāϤ āϏā§āĻā§āϰā§āĻŽāĻā§ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ, gRPC āϏāĻš āĻāĻāĻāĻŋ āĻā§āϝāĻžāύā§āϞ āĻāĻāĻžāϧāĻŋāĻ āĻ āύā§āϰā§āϧ āĻā§āĻĄāĻŧā§ āĻāĻāĻžāϧāĻŋāĻ āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āϏā§āĻā§āϰāĻŋāĻŽ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ āϤāĻžāϰāĻž āĻāĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏā§āĻāĻžāĻŦ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻāĻĒāĻŋ āĻāĻŦāĻ āĻĒā§āϰā§āĻā§ āĻāĻāĻāĻŋ gRPC āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āϞāĻŋāĻā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻĻā§āĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āύāĻŋāϝā§āĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
gRPC āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ
gRPC āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ⧠āĻāĻāĻāĻŋ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ gRPC āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāϝāĻŧāĻ āĻĨāĻžāĻā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒāϰāĻŋāώā§āĻŦāĻžāϤ⧠āĻāĻāĻāĻŋ āϏā§āĻāĻžāĻŦ āĻŦāĻž āĻāĻāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ-āĻāϤā§āĻĒāύā§āύ āĻĢāĻžāĻāϞ āϰāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āĻŽāϤ⧠āϝāĻž āϏāĻā§āϰāĻŋāϝāĻŧ āĻĻā§āϰāĻŦāϰā§āϤ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āϧāĻžāϰāĻŖ āĻāϰā§āĨ¤ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāĻāĻŋ āϏā§āĻāĻžāĻŦ-āĻ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻāϞ āĻļā§āϰ⧠āĻāϰ⧠āϝāĻžāϤ⧠āĻāϰā§āĻā§āĻŽā§āύā§āĻāĻā§āϞāĻŋ gRPC āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϤ⧠āĻĢāϰāĻāϝāĻŧāĻžāϰā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏā§āĻāĻžāĻŦ āϤāĻžāϰāĻĒāϰ Protobuf āĻŽāĻžāϰā§āĻļāĻžāϞāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϰā§āĻā§āĻŽā§āύā§āĻāĻā§āϞāĻŋāĻā§ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞ āĻāϰāĻžāϰ āĻĒāϰ⧠āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ-āĻāĻžāĻāĻŽ āĻāĻāύāĻŋāĻā§ āĻā§āϝāĻŧā§āϰāĻŋ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤
āĻĻā§āϰāĻŦāϰā§āϤ⧠āϏāĻžāϰā§āĻāĻžāϰ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰāϤ⧠āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ HTTP/2 āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰā§āϰ OS āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰ⧠āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϏā§āĻāĻžāĻŦ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āĻļā§āϰ⧠āĻāϰā§, āϝāĻž āĻāύāĻāĻžāĻŽāĻŋāĻ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞāĻŋ āĻĄāĻŋāĻā§āĻĄ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻāĻĒāϝā§āĻā§āϤ āĻā§āϰāĻŋāϝāĻŧāĻžāĻāϞāĻžāĻĒ āĻļā§āϰ⧠āĻāϰāϤ⧠Protobuf āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒāϰāĻŋāĻŦāĻšāύ āϏā§āϤāϰ āϤāĻžāϰāĻĒāϰ āϏāĻžāϰā§āĻāĻžāϰ āϏā§āĻāĻžāĻŦ āĻĨā§āĻā§ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āϰāĻšāĻŖ āĻāϰā§āĨ¤ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏā§āĻāĻžāĻŦ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻāĻŦāĻ āĻĒā§āϰāĻĻāϤā§āϤ āĻāϰā§āĻā§āĻŽā§āύā§āĻāĻā§āϞāĻŋ āĻā§āϞ⧠āĻĢā§āϞāĻžāϰ āĻĒāϰ⧠āϏāĻŽā§āĻĒāĻžāĻĻāύāĻāĻŋ āĻāϞāĻžāϰā§āϰ āĻāĻžāĻā§ āĻĢāĻŋāϰ⧠āϝāĻžāϝāĻŧāĨ¤
gRPC
āĻ āύā§āϝāĻžāύā§āϝ API āĻĄāĻŋāĻāĻžāĻāύāĻŋāĻ āĻŽā§āĻāĻžāύāĻŋāĻāĻŽā§āϰ gRPC āĻāϰ āĻŦā§āĻļ āĻāĻŋāĻā§ āϏā§āĻŦāĻŋāϧāĻž āϰāϝāĻŧā§āĻā§āĨ¤ gRPCRPC āĻāĻžāĻ āĻžāĻŽā§āϰ āĻāĻĒāϰāĻ āĻāύā§āύāϤāĻŋ āĻāϰā§āĨ¤ āĻāĻāĻžāύ⧠gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āϏāĻŦāĻā§āϝāĻŧā§ āĻŦāĻŋāĻļāĻŋāώā§āĻ āϏā§āĻŦāĻŋāϧāĻžāĻā§āϞāĻŋ āϰāϝāĻŧā§āĻā§:
- āĻāĻā§āĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻĻā§āϰāĻŦāϰā§āϤ⧠āĻĒāĻĻā§āϧāϤāĻŋ āĻāϞ
Protobuf āĻāĻŦāĻ HTTP/2 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ REST+JSON āĻāύā§āĻāĻžāϰāĻ ā§āϝāĻžāĻāĻļāύā§āϰ 10 āĻā§āĻŖ āĻĒāϰā§āϝāύā§āϤ āĻāĻā§āĻ āĻāĻžāϰā§āϝāĻā§āώāĻŽāϤāĻž āĻāĻŦāĻ API āϏā§āϰāĻā§āώāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āĻļ, āĻŽāĻžāϞā§āĻāĻŋāĻĒā§āϞā§āĻā§āϏāĻŋāĻ āĻāĻŦāĻ āĻšā§āĻĄāĻžāϰ āĻāĻŽā§āĻĒā§āϰā§āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, HTTP/2 gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϰâā§āϝāĻžāĻā§āĻāĻŋāĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āϝāĻĻāĻŋāĻ āĻŽāĻžāϞā§āĻāĻŋāĻĒā§āϞā§āĻā§āϏāĻŋāĻ āĻšā§āĻĄ-āĻ āĻĢ-āϞāĻžāĻāύ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻĻā§āϰ āĻāϰā§, āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āĻļ HTTP/2-āĻāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϰ āĻāĻā§ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§ āĻāĻĒāĻžāĻĻāĻžāύ āĻĒā§āĻļ āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻāϰ⧠āϤā§āϞā§āĨ¤ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ HTTP/2 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϰāĻ āĻāĻžāϰā§āϝāĻāϰāĻāĻžāĻŦā§ āϏāĻāĻā§āĻāĻŋāϤ āĻšāϝāĻŧ, āϝāĻžāϰ āĻĢāϞ⧠gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĻā§āϰā§āϤ āϞā§āĻĄ āĻšāϝāĻŧāĨ¤
- āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ
gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻāϰāĻžāϰ āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻŦāĻŋāĻŦāϰāĻŖā§ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ- āĻŦāĻž āϏāĻžāϰā§āĻāĻžāϰ-āĻāύā§āĻĄ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ āύā§āϤāĻŋāĻā§āϞāĻŋ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§āĨ¤ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻŦāĻ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āϏāĻšāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύ
gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ gRPC āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύ āĻšāϞ gRPC āĻāϝāĻŧā§āĻŦ āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻŽā§āϞ āĻāĻĒāĻžāĻĻāĻžāύāĨ¤ .proto āĻĢāĻžāĻāϞ āĻĨā§āĻā§ āĻā§āĻĄ āϤā§āϰāĻŋāϰ āĻāύā§āϝ, gRPC āĻŽāĻĄāĻŋāĻāϞ .protoc āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ gRPCProtobuf āϤ⧠āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŋāϤ āĻšāϝāĻŧ, āϝāĻž āĻĄā§āĻāĻž āĻĢāϰāĻŽā§āϝāĻžāĻ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāύā§āĻĄāĻĒāϝāĻŧā§āύā§āĻ āĻāĻāϝāĻŧāĻā§āĻ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ-āϏāĻžāĻāĻĄ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āϏā§āĻāĻžāĻŦ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ-āϏāĻžāĻāĻĄ āĻāĻā§āĻāĻžāϞ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝāĻž gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āϏāĻžāĻĨā§ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϝāĻŧā§āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻšā§āϰāĻžāϏ āĻāϰā§āĨ¤
- āĻāύā§āĻāĻžāϰāĻ āĻĒāĻžāϰā§āĻŦāĻŋāϞāĻŋāĻāĻŋ
āĻāĻžāĻāĻž, āϰā§āĻŦāĻŋ, Go, āϏāĻŋ# āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻāĻā§āϞāĻŋ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāĻā§āϞāĻŋ gRPC āϏāĻāϏā§āĻĨāĻžāύ āĻāĻŦāĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽāϰā§āĻĨāĻŋāϤāĨ¤ āĻāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāĻā§āϞāĻŋāϰ āϏāĻžāĻšāĻžāϝā§āϝā§, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž gRPC āĻāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻā§āϰāϏ-āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āĻ āĻ ā§āϝāĻžāĻĒ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ Protobuf āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻāϝāĻŧā§āϝāĻžāϰāĻŋāĻ āĻĢāϰā§āĻŽ āĻāĻŦāĻ āĻĒā§āϰāĻžāϝāĻŧ āϏāĻŽāϏā§āϤ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāύā§āϝ āĻāĻžāϰā§āϝāĻāϰ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āĻāύā§āϝ āϧāύā§āϝāĻŦāĻžāĻĻāĨ¤
- āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž
āĻāĻāĻāĻŋ TLS āĻāύā§āĻĄ-āĻā§-āĻāύā§āĻĄ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āϏā§āĻļāύ⧠HTTP/2 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠gRPC API āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ gRPC āϏāĻžāϰā§āĻāĻžāϰ āĻāĻŦāĻ gRPC āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻŽāϧā§āϝ⧠āĻĄā§āĻāĻž āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻāĻŦāĻ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ SSL/TLS āĻā§āϰāĻšāĻŖā§āϰ āĻĒā§āϰāĻāĻžāϰ āĻāϰā§āĨ¤
- āĻāϤā§āĻĒāĻžāĻĻāύāĻļā§āϞāϤāĻž āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāϝā§āĻā§āϝāϤāĻž
āϝā§āĻšā§āϤ⧠gRPC āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ RPC āĻŦāĻŋāĻāϞā§āĻĒ, āĻāĻāĻŋ āĻŦāĻŋāϏā§āϤā§āϤ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻāĻžāώāĻžāϰ āĻāĻĒāϰ āĻā§āύ⧠āĻŦāĻžāϧāĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻžāĻ āĻāϰā§āĨ¤ gRPC āϤā§āĻ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āĻā§āϞāĻŋāĻ āϰāϝāĻŧā§āĻā§, āĻĒā§āϰāĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻŦāϝāĻŧāϞāĻžāϰāĻĒā§āϞā§āĻ āĻā§āĻĄ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻā§āĻā§āĨ¤ gRPC āĻāϰ āϏāĻžāĻĨā§ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āϏāĻŽāϝāĻŧ āϏāĻžāĻļā§āϰāϝāĻŧā§āϰ āĻāĻžāϰāĻŖā§ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰāϰāĻž āĻāĻāύ āĻŽā§āϞ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻžāϰ āĻāĻĒāϰ āĻāϰāĻ āĻŦā§āĻļāĻŋ āĻŽāύā§āϝā§āĻ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āĨ¤
gRPC āĻāϰ āĻ āϏā§āĻŦāĻŋāϧāĻž
āϝāĻĻāĻŋāĻ āĻāĻŽāϰāĻž āĻāĻļāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϝ⧠gRPC āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āϏāĻŽāĻžāϧāĻžāύ āĻšāϝāĻŧā§ āϝāĻžāĻŦā§, āϤāĻžāϰāĻž āĻāĻāύ āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧠āĻāĻŋāĻā§ āϏāĻŽāϏā§āϝāĻž āϤā§āϰāĻŋ āĻāϰā§āĨ¤ gRPC āĻāĻŋāĻā§ āĻ āϏā§āĻŦāĻŋāϧāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĒāύāĻžāϰ āϏāĻā§āϤāύ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ:
- āĻĒāϰāĻŋāĻĒāĻā§āĻāϤāĻžāϰ āĻ āĻāĻžāĻŦ
āĻāĻāĻāĻŋ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāϰ āĻŦāĻŋāĻāĻžāĻļ āĻā§āϰāĻšāĻŖā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻŦāĻžāϧāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ gRPC āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻŋāĻ āϏā§āĻĒāώā§āĻāĨ¤ GraphQL, gRPC-āĻāϰ āϏāĻšāĻāϰā§āĻŽā§āĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ, StackOverflow-āĻ 14k-āĻāϰ āĻŦā§āĻļāĻŋ āĻĒā§āϰāĻļā§āύ āϰāϝāĻŧā§āĻā§, āϝāĻāύ StackOverflow āĻāϰ āĻāĻ āĻŽā§āĻšā§āϰā§āϤ⧠gRPC āĻāϰ āĻāĻāĻā§ āύā§āĻā§ āϰāϝāĻŧā§āĻā§āĨ¤ gRPC āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧā§āϰ āϏāϰā§āĻŦā§āϤā§āϤāĻŽ āĻ āύā§āĻļā§āϞāύ, āϏāĻŽāĻžāϧāĻžāύ āĻāĻŦāĻ āϏāĻžāĻĢāϞā§āϝ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻā§āĻāĻžāύā§āϰ āĻ āĻāĻžāĻŦ āϰāϝāĻŧā§āĻā§ āĻāĻžāϰāĻŖ HTTP/2 āĻāϰ āĻāύā§āϝ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰ āϏāĻšāĻžāϝāĻŧāϤāĻž āύā§āĻ, āϏā§āĻāϏāĻžāĻĨā§ āĻā§āĻāϞā§āϰ āĻŦāĻžāĻāϰ⧠āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ āύā§āĻāĨ¤ āϝāĻžāĻāĻšā§āĻ, āϝā§āĻšā§āϤ⧠gRPC āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ āύāϤā§āύ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻāĻā§āώā§āĻ āĻāϰā§, āĻāĻāĻŋ āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻŦāĻŋāĻāĻļāĻŋāϤ āĻšāĻŦā§āĨ¤
- āϏā§āĻŽāĻŋāϤ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āϏāĻŽāϰā§āĻĨāύ
āϝā§āĻšā§āϤ⧠āĻā§āύ⧠āĻŦāϰā§āϤāĻŽāĻžāύ gRPC āĻāϝāĻŧā§āĻŦ āĻŦā§āϰāĻžāĻāĻāĻžāϰ HTTP/2 āĻĢā§āϰā§āĻŽāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āĻāĻĒāύāĻŋ āĻāĻžāϰā§āϝāĻāϰāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻĨā§āĻā§ āĻāĻāĻāĻŋ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž āϝā§āĻšā§āϤ⧠gRPC āĻāϝāĻŧā§āĻŦ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§ HTTP/2 āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻžāĻā§ āĻ āĻŦāĻļā§āϝāĻ gRPC āĻāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āϰāĻā§āϏāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āϝāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āϤā§āϰā§āĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāϏā§āĨ¤
- āĻŽāĻžāύā§āώā§āϰ āĻ āĻĒāĻžāĻ ā§āϝ
XML āĻāĻŦāĻ JSON āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤā§, Protobuf āĻĢāĻžāĻāϞāĻā§āϞāĻŋ āĻŽāĻžāύāĻŦ-āĻĒāĻžāĻ āϝā§āĻā§āϝ āύāϝāĻŧ āϝā§āĻšā§āϤ⧠āĻĄā§āĻāĻž āĻāĻāĻāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĢāϰā§āĻŽā§āϝāĻžāĻā§ āϏāĻāĻā§āĻāĻŋāϤ āĻšāϝāĻŧāĨ¤ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻ āĻŦāĻļā§āϝāĻ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏāϰāĻā§āĻāĻžāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āϝā§āĻŽāύ āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϰāϤāĻŋāĻĢāϞāύ āĻĒā§āϰā§āĻā§āĻāϞ āĻāĻŦāĻ gRPC āĻāĻŽāĻžāύā§āĻĄ āĻĒā§āϰāĻŽā§āĻĒāĻ āĻĒā§āϞā§āĻĄ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύ āĻāϰāϤā§, āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āĻāĻŦāĻ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞ āĻĒā§āϰāĻļā§āύ āϤā§āϰāĻŋ āĻāϰāϤā§āĨ¤
- āĻāĻžāĻĄāĻŧāĻž āϞāĻžāϰā§āύāĻŋāĻ āĻāĻžāϰā§āĻ
REST āĻāĻŦāĻ GraphQL āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤ⧠āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻšāϤ⧠āĻāĻŦāĻ HTTP/2 āĻāϰā§āώāĻŖ āĻŽā§āĻāĻžāĻŦā§āϞāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāĻā§āϞāĻŋ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰāϤ⧠āĻāĻŋāĻā§āĻāĻž āϏāĻŽāϝāĻŧ āϞāĻžāĻāĻŦā§, āĻāĻāϝāĻŧāĻ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ JSON āύāĻŋāϝāĻŧā§āĻ āĻāϰā§āĨ¤
AppMaster āĻāĻŋāĻāĻžāĻŦā§ āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§?

No-code āĻĒā§āϰāĻāύā§āĻŽā§āϰ āϞā§āĻā§āϰāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻĻā§āĻāĻžāϰ āĻāĻĒāĻžāϝāĻŧ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻā§āĨ¤ No-code āĻā§āύāĻžāϰā§āĻļāύ āĻŽāĻžāύā§āώā§āϰ āĻĒāĻā§āώ⧠āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĻā§āϰā§āϤ āϏāĻĢāĻāĻāϝāĻŧā§āϝāĻžāϰ āĻļā§āĻāĻž āĻāĻŦāĻ āϤā§āϰāĻŋ āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻāϰ⧠āϤā§āϞā§āĨ¤ AppMaster āĻŽāϤ⧠no-code āĻā§āύāĻžāϰā§āĻļāύ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻā§āĻĄ āϤā§āϰāĻŋ āĻāϰāĻž āϏāĻšāĻāĨ¤ āĻā§āύ āĻŽāĻžāϞāĻŋāĻāĻžāύāĻž āϏāĻŽāϏā§āϝāĻž āύā§āĻ, āĻāĻžāϰāĻŖ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύ āϏā§āϰāĻā§āώāĻŋāϤ, āĻāĻŦāĻ āĻāĻĒāύāĻŋ āϝ⧠āĻā§āĻĄāĻāĻŋ āϤā§āϰāĻŋ āĻāϰāĻŦā§āύ āϤāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻĒāύāĻžāϰāĻ āĻšāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ AppMaster āĻŽāĻžāϧā§āϝāĻŽā§ āĻĻā§āϰā§āϤ āĻāĻŦāĻ āĻāϰ⧠āϏāĻšāĻā§ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻ ā§āϝāĻžāĻĒāĻŽāĻžāϏā§āĻāĻžāϰā§āϰ no-code āĻā§āύāĻžāϰā§āĻļāύ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻĻā§āϰ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻŽāĻžāĻāĻā§āϰā§āϏāĻžāϰā§āĻāĻŋāϏā§āϏ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āϰ āĻŽāϧā§āϝ⧠āĻ āύā§āϰā§āϧ āĻāϰāϤ⧠gRPC āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻĒāϰā§āϰ āĻŦāĻāϰ āĻāĻŽāϰāĻž gRPC āĻāϝāĻŧā§āĻŦ āĻāĻŦāĻ gRPC āĻŽā§āĻŦāĻžāĻāϞ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻāϝāĻŧ āĻā§āώā§āϤā§āϰ⧠API āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰ⧠gRPC āϏāĻŽāϰā§āĻĨāύ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰāĻŦāĨ¤
āĻāĻĒāϏāĻāĻšāĻžāϰ
āϝāĻĻāĻŋāĻ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻŦā§āĻļ āĻāĻŋāĻā§ āϏā§āĻŦāĻŋāϧāĻž āϰāϝāĻŧā§āĻā§ āϝāĻž āϏā§āĻā§āϞāĻŋāĻā§ āĻŦā§āϝāĻŦāϏāĻž āĻāĻŦāĻ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻāĻžāĻā§ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāϰ⧠āϤā§āϞā§, āĻ āĻŦāĻļā§āώā§, REST āĻŦāĻž SOAP-āĻāϰ āĻŽāϤ⧠āĻ āύā§āϝāĻĻā§āϰ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āĻāĻĒāύāĻžāϰ āĻāĻŦā§āĻĻāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§ā§ˇ āϝāĻĻāĻŋāĻ āĻāĻŋāĻā§ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ gRPC āĻāϰ āϏāĻžāĻĨā§ āĻāĻā§āĻ-āĻāĻžāϰā§āϝāĻā§āώāĻŽāϤāĻžāϰ āϏā§āĻŦāĻŋāϧāĻž āĻĒāĻžāĻŦā§, āĻ āύā§āϝāϰāĻž āĻāϰ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāϰāĻ āĻāĻĒāϝā§āĻā§āϤ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻĒāύāĻžāϰ gRPC āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻ āϏā§āĻŦāĻŋāϧāĻžāĻā§āϞāĻŋ āĻāĻŦāĻ āϏā§āĻŦāĻŋāϧāĻžāĻā§āϞāĻŋ āĻŦā§āĻāĻž āĻāĻāĻŋāϤ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āĻāĻžāĻ āĻāϰ⧠āĻāĻŋāύāĻž āϤāĻž āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύā§āĻāϝāĻŧāĻž āĻāĻāĻŋāϤ⧎


