рдЬреАрдЖрд░рдкреАрд╕реА рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдврд╛рдВрдЪрд╛ рд╣реИред Yandex.Market рдореЗрдВ, GRPC рдХрд╛ рдЙрдкрдпреЛрдЧ REST рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрдЧреЗрдИ рдлреЗрдбреЛрд╕реЗрдирдХреЛрд╡, рдЬреЛ рдорд╛рд░реНрдХреЗрдЯ рдкрд╛рд░реНрдЯрдирд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕рд░реНрд╡рд┐рд╕ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдиреЗ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА ++ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХреАрдХрд░рдг рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреАрдЖрд░рдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред рд░рд┐рдкреЛрд░реНрдЯ рд╕реЗ рдЖрдк рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдпрджрд┐ рдЖрдк REST рдХреЗ рдмрд╛рдж gRPC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд▓реМрдЯрд╛рдПрдВ, рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдбрд┐рдмрдЧ рдХреНрд╡реЗрд░реА рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдЕрдВрдд рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИред
- рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ Yandex.Market рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рддрдереНрдпреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд╡реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗред рдкрд╣рд▓рд╛ рддрдереНрдп: рд╣рдо рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗрд╡рд╛рдПрдБ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрд╣ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ, рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд▓рд╕ рдпрд╛ рдереЛрдбрд╝рд╛ рднреАред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬрд┐рддрдиреА рднреА рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рдкреВрд░реЗ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдХреЛрдИ рдмрдбрд╝реА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрд╕ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддрд╛рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗред
рддреАрд╕рд░рд╛ рддрдереНрдп: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдордХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдХреАрдХрд░рдг рд╣реИред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╣рдордиреЗ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛? рдЕрдм, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реА рдПрдХреАрдХрд░рдг рдХрд╛ рдЖрдзрд╛рд░ REST рдпрд╛ REST рдЬреИрд╕реА рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬреЛ HTTP 1.1 рдкрд░ XML / JSON рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рдПрдХреНрд╕рдПрдордПрд▓-рдЖрд░рдкреАрд╕реА рднреА рд╣реИ - рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╛рдпрдерди рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдХреНрд╕рдПрдордПрд▓-рдЖрд░рдкреАрд╕реА рд╕рд░реНрд╡рд░ рд╣реИред рдпрд╣ рд╡рд╣рд╛рдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдПрдХ рдмрд╛рд░ CORBA рдереЗред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдордиреЗ рдЗрд╕реЗ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛ред рдЕрдм HTTP рдкрд░ рдЬреНрдпрд╛рджрд╛рддрд░ REST рдФрд░ XML / JSONред

рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдореЗрдВ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреАрдЖрд░рдкреАрд╕реА рдХреЗ рд╕рд╛рде рдЙрдирдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрднреА рднреА рдЦреБрдж рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдФрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ - рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдореИрдВ рдЙрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рднреА рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдорд╛рд░реА рд╕рднреА рд░рд┐рд▓реАрдЬрд╝ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрдд рд╣реИрдВ, рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рддреЛрдбрд╝рддреЗред рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рддреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╕рдВрдЧрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рд╣рд░ рдХреЛрдИ рдЬрд┐рд╕рдиреЗ REST рд╕реЗрд╡рд╛рдПрдБ рдХреА рд╣реИрдВ, рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ HTTP рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЙрдирдХреА рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ, рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рдХреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ, рд╣рд░ рдХреЛрдИ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкреНрд░рдмрдВрдзрди рднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдлрд┐рд░ рд╕реЗ, рдЬреЛ HTTP рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд╕реЗ рдХреЛрдИ рд╕рдордп рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреАрдЪ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдореАрдкрддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдордпрд╛рд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред рдФрд░ рдЧреНрд░рд╛рд╣рдХ рд╢рд╛рдпрдж рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкреНрд░рд▓реЗрдЦрди рдХреА рд╕рдорд╕реНрдпрд╛ред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ REST рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛ рдХреБрдЫ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╣рд╛рдБ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рдХреМрди рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдХрд┐рд╕ рдирд┐рдХрд╛рдп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕реНрд╡реИрдЧрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рднреА, рд╕рдм рдХреБрдЫ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИред
gRPCред рд╕рд┐рджреНрдзрд╛рдВрдд
рдореИрдВ gRPC рдХреЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, gRPC рдПрдХ рдЕрдореВрд░реНрдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИред рдпрд╣ рдПрдХ рдЕрдореВрд░реНрдд рдЖрд░рдкреАрд╕реА (рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓) рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рдПрдХ рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВрдЧреЗред рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рдПрдХрд▓ рдХреЙрд▓ рдФрд░ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ рдЬреЛ рдЗрд╕ рдпреБрдХреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИрдВ, рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВред рдЕрдЧрд▓рд╛ рдЖрдЗрдЯрдо рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рд╢рд░реНрдд, рд╣реЗрдбрд░ред рдФрд░ - рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
рдпрд╣ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреЗрдлрд┐рдирд┐рд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдпрд╛ рдЖрдИрдбреАрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдирд┐рд░реНрджреЗрд╢ HTTP / 2 рдкрд░ рд╡рд╛рдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, gRPC рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ HTTP / 2 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬреАрдЖрд░рдкреАрд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рд╣рдо рдЗрд╕реЗ рджреЗрдЦреЗрдВрдЧреЗред рдкреНрд░реЛрдЯреЛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдИрдбреАрдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЯреЛ рдХрдореНрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП gRPC рдкреНрд▓рдЧрдЗрди рдЖрдкрдХреЛ рдкреНрд░реЛрдЯреЛ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЙрддреНрдкрдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ - рдЬрд╛рд╡рд╛, рд╕реА ++, рдкрд╛рдпрдердиред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓рдЧрднрдЧ рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдирдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВред рдФрд░ рдЬреИрд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдкреНрд░реЛрдЯреЛ рд╕рдВрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░реЛрдЯреЛрдмреЙрдлрд╝ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЧреЛрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣рд╛рдБ рд╡реЗ рд╣реИрдВред рдордЬрдмреВрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ, рдпрд╛рдиреА рдПрдХ рдкреНрд░реЛрдЯреЛ рд╕рдВрджреЗрд╢, рдПрдХ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрджреЗрд╢ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдПрдХ рдмрд╛рд░ рдкреНрд░реЛрдЯреЛрдмреБрдлрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рдереЗ, рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХрд╛ рд╡рд░реНрдгрди рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдЖрджрд┐рдо рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдмрд╛рдЗрдЯ рдПрд░реЗ рджреЛрдиреЛрдВ рдореМрдЬреВрдж рд╣реИрдВред рд╡реЗ рдЕрджрд┐рд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗрдХреНрдЯрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдВрджреЗрд╢, рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдиреНрдп рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд┐рд╕реА рднреА рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдкреНрд░реЛрдЯреЛ рдЖрдИрдбреАрдПрд▓ рдПрдХ рдРрд╕рд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмреИрдХрд╡рд░реНрдб рдХрдореНрдкреЗрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦреА рдЧрдИ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ рдмреИрдХрд╡рд░реНрдб рдХрдореНрдкреИрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмреИрдХрд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдереА, рдФрд░ Google рдиреЗ рдкреНрд░реЛрдЯреЛ 3 рдХрд╛ рдПрдХ рд╡рд░реНрдЬрди рдЬрд╛рд░реА рдХрд┐рдпрд╛, рдЬреЛ рдкреНрд░реЛрдЯреЛ 2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдмреИрдХрд╡рд░реНрдб рдХрдореНрдкреИрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдХреЛ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред рд╡рд╣рд╛рдБ, рдкреНрд▓рд╕, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ, рдХреИрд╕реЗ рдФрд░ рдХреНрдпрд╛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрдЫ рдЧреИрд░-рддреБрдЪреНрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдк рдирдП рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкреНрд░реЛрдЯреЛ 3 рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдЯрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреВрд░рд╕реНрде рдХреНрд╖реЗрддреНрд░ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рдПрдХ рдФрд░ gRPC рд╕реБрд╡рд┐рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЯреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ gRPC рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░реЛрдЯреЛ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрд╕ рд╕рдордп рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрдм рдХреЛрдб рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдпрд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдЪреБрдиреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рд╣реИред рдФрд░ рдпрд╣ рдЕрд╡рд╕рд░ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдПрдХ рдкреНрд░реЛрдЯреЛ-рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЯреЛ-рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдЙрдкрднреЛрдХреНрддрд╛ рдЕрдкрдиреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрдиреБрд░реЛрдз рдФрд░ рд╕рдордп рд╕реАрдорд╛ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ, рд╣рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рд░рджреНрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЬреАрдЖрд░рдкреАрд╕реА рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕рдордп рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реА рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рд╡рд╣ рд╕рдордп рд╣реИ рдЬрдм рдЕрдиреБрд░реЛрдз рдкреВрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛрдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЪреВрдВрдХрд┐ рдЬреАрдЖрд░рдкреАрд╕реА рдХреЗ рд▓рд┐рдП рдЖрдИрдбреАрдПрд▓ рдореЗрдВ рдкреНрд░реЛрдЯреЛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рдпрдорд┐рдд рдХреЛрдб рд╣реИред рд╡рд╣рд╛рдВ рдЖрдк рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рд╕рд╣рд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рдЗрд╕ рдкреНрд░реЛрдЯреЛ-рдкреНрд░рд╛рд░реВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛, рд╡реЗ рдХрд╣реАрдВ рдФрд░ рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓реЗрдВрдЧреЗред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдФрд░ рдЖрдк рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдпрд╣ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдХреЛрдб рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╣реБрдд рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ javadoc рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЭреВрда рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
gRPC рдпреВрдирд░реА рдХреЙрд▓ред рдЕрднреНрдпрд╛рд╕
рдЪрд▓рд┐рдП, рдереЛрдбрд╝рд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ gRPC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЙрджрд╛рд╣рд░рдг рддрдерд╛рдХрдерд┐рдд рдЕрдирдЖрдпрд░реНрдб рдХреЙрд▓ рдпрд╛ рд╕рд┐рдВрдЧрд▓ рдХреЙрд▓ рд╣реИред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдпреЛрдЬрдирд╛ рд╣реИ - рд╣рдо рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ HTTP рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЙрд╕ рдЧреВрдВрдЬ рд╕реЗрд╡рд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдкреНрд▓рд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╛рд╡рд╛ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯред рдпрд╣рд╛рдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣реА рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдмреИрд▓реЗрдВрд╕рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреИрдХреЗрдВрдб рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдЪреВрдВрдХрд┐ рдЬреАрдкреАрдкреАрд╕реА HTTP / 2 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЖрдЧреЗ, рд╡рд┐рднрд┐рдиреНрди рдзрд╛рд░рд╛рдПрдВ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИрдВред рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдВрдмрдВрдз рдПрдХ рдмрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдмреИрд▓реЗрдВрд╕рд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреИрдХреЗрдВрдб рдкрд░ рд▓реЛрдб рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд╕рдВрдж рд╣реИред

рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЯреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕рдВрджреЗрд╢ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдХреЛ рд░реАрд╕рдкреЗрд╕реНрдЯ рдФрд░ рдЗрдХреЛ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рд╣реИред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝реАрд▓реНрдб рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рдЪрд░рдг рд╣рдо рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдЗрдирдкреБрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ EchoRequest рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ EchoResponse рджреЗрддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рддреБрдЪреНрдЫ рд╣реИред рдпрд╣ рдЬреАрдЖрд░рдкреАрд╕реА рд╕реЗрд╡рд╛ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдЬреЛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдкреНрд▓рд╕рд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдЗрд╕реЗ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рд╕рдВрджреЗрд╢ рд╕реНрд░реЛрдд рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕ рдЯреАрдо рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдкреНрд░реЛрдЯреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░реЛрдЯреЛ-рдлрд╛рдЗрд▓ рдХреЛ рдЗрдирдкреБрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдХрд╣рд╛рдВ рд░рдЦреА рдЬрд╛рдПред
рджреВрд╕рд░реА рдЯреАрдоред рд╣рдо рднреА рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕реЗрд╡рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкреНрд▓рдЧрдЗрди рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬреЛ рдкреНрд░реЛрдЯреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИ, рдпрд╣ рд╕реЗрд╡рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдЪрд░рдг - рд╣рдо рдпрд╣ рд╕рдм рдПрдХ рдмрд┐рдирд╛рд░ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рд▓рд┐рдВрдХрд░ рдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЭрдВрдбрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ grpc ++ _ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдЬреАрдЖрд░рдкреАрд╕реА рд╕рд░реНрд╡рд░ рдореЗрдВ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛, рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛рдПрдВ, рдЖрд░рдкреАрд╕реА-рдХреЙрд▓ рдФрд░ рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рд╛рде рдкрд░ рдПрдХ рдкреНрд░реЛрдЯреЛ-рдкреНрд░рд╛рд░реВрдк рд╣реЛред рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рд╛рде рдореЗрдВ рдкреНрд░реЛрдЯреЛ-рдлреЙрд░реНрдореЗрдЯ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдмрд╕ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ рддреБрд░рдВрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдЕрдм рдЖрдЗрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦреЗрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рдиреНрдпреВрдирддрд░ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рдЧреВрдВрдЬ-рд╕реЗрд╡рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдЧреЗрдЯреЛ рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИред рд╕реНрдерд┐рддрд┐ рдареАрдХ рд╣реИ - рд╕рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ред
рдЕрдЧрд▓рд╛, рд╣рдо ServerBuilder рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдмрдирд╛рдпрд╛ рдерд╛ред

рдЕрдм рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рдЬрд╛рд╡рд╛ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдо рдЧреНрд░реЗрдбрд▓ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдкрд╣рд▓реЗ рдкреНрд░реЛрдЯреЛрдлреНрдпреВ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред
рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдореВрд▓ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдиреЗрдЯреНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ HTTP / 2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╣реИред
рдЖрдЧреЗ рд╣рдо рдкреНрд░реЛрдЯреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реНрд╡рдпрдВ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдмрд╛рддред рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЖрдк рдПрдХ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рддрд╛рдХрд┐ рд╕рднреА рдлреЗрд░рдмрджрд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рднреА рдХрд╣рд╛ рдЬрд╛рдП, рддрд╛рдХрд┐ рд╕реНрдЯрдмреНрд╕ рдЙрддреНрдкрдиреНрди рд╣реЛред

рдЬрд╛рд╡рд╛ рдХреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣рдо рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХрд╛ рд╕реНрдЯрдм рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рдЪреИрдирд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдХрд╛рдо рд╣реИред рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ ChannelBuilder рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЗрд╕ рдЪреИрдирд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рд╕рд╛рджреЗ рдкрд╛рда рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди HTTP2 рдФрд░ gRPC рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ TLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдПрдХ рд╕реНрдЯрдм рд╣реИ, рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдЙрд╕реА рддрд░рд╣, рдЖрдк рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЯреЛрдмрдл рдЕрдиреБрд░реЛрдз рдмрдирд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рд╣рдо рдПрдХ рдкреНрд░реЛрдЯреЛрдмрдл рд╕рдВрджреЗрд╢ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдм рд╣реИ, рдЗрд╕реЗ рднреЗрдЬреЗрдВ, рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рдкрд░ рд╣рдо getEcho рдХрд╣рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рдлреА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХреАрдХрд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬреАрдЖрд░рдкреАрд╕реА рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧред рдЕрднреНрдпрд╛рд╕
рдЕрдм рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрдиреНрдирдд рдЪреАрдЬрд╝ рджреЗрдЦреЗрдВ, рдпрд╣ рд╣реИ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред

рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд░реВрдк рд╕реЗ рджреЗрдЦрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдмреАрдЪ рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрдмрдВрдз рд╣реИред рдлрд┐рд░ рдорддрднреЗрдж рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреБрдЫ рдЕрдВрддрд┐рдо рдмреИрдХреЗрдВрдб рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣ рдРрд╕реЗ рд╣реА рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдФрд░ рдРрд╕рд╛ рд╣реИред рдпрд╣рд╛рдВ рдореИрдВ рдЕрд▓рдЧ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпреЗ рд╕рдВрджреЗрд╢ рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдмреИрдХрдПрдВрдб рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрднреНрдпрд╛рд╕ рд╣реИ рдЬрдм рдПрдХ рд╕реЗрд╡рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдпрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреАрдЖрд░рдкреАрд╕реА рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреБ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдХреЛ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдкреНрд░реЛрдЯреЛ рдкреНрд░рд╛рд░реВрдк рд╣реИред рд╣рдо рдПрдХ рдФрд░ рдЖрд░рдкреАрд╕реА рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рдХреАрд╡рд░реНрдб рдЬреЛрдбрд╝реЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо EchoRequest рдФрд░ EchoResponse рд╕реНрдЯреНрд░реАрдо рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╕рдВрдХрд▓рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрджрд▓рддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░рд╛ рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп рд╣рдорд╛рд░реА рдЗрдХреЛ рд╕реЗрд╡рд╛ рдореЗрдВ рд╣рдорд╛рд░реА рдирдИ рдкрджреНрдзрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рди рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо, рдФрд░ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИред

рдпрд╣рд╛рдБ рдЕрдм рд░реАрдбрд┐рдВрдЧ рд╣реИ, рдпрд╣рд╛рдБ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╣реИред

рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ, рдЪреАрдЬреЗрдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддреА рд╣реИрдВред рд╡рд╣рд╛рдБ рдЖрдк рдХрд┐рд╕реА рднреА рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдХреЗрд╡рд▓ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд╣рд╛рдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдСрдмреНрдЬрд░реНрд╡рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рд╡рд╣рд╛рдБ рдПрдХ StreamObserver рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдЗрд╕рдореЗрдВ рддреАрди рд╡рд┐рдзрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: onNext, onCompleted, рдФрд░ onErrorред рдпрд╣рд╛рдБ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ onNext рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдЯрд╡реАрдЯреНрд╕ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЙрддреНрддрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореИрдВ рд╕рд┐рд░реНрдл рдзрд╛рдЧреЗ рдХреЗ рдмреАрдЪ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд▓рдЧрд╛ рд╣реВрдВред

рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? рдмреНрд▓реЙрдХрд╕реНрдЯрдм рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╕рд┐рд░реНрдл рдирдпрд╛ рд╕реНрдЯрдм рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл рдСрдмреНрдЬрд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдСрдмреНрдЬрд░реНрд╡рд░ рдкрд░ рдпреВрд░реА рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рдЗрддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рд╣рдо, рдХрдо рд╕реЗ рдХрдо, рдЗрд╕рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЧреЗ рд╣рдо рдЕрдкрдиреЗ рдСрдмреНрдЬрд░реНрд╡рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдЖрд░рдкреАрд╕реА рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП ResponseObserver рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдпрд╣ рд╣рдореЗрдВ RequestObserver рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо RequestObserver рдкрд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрджреЗрд╢ рдкреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╣рдорд╛рд░рд╛ ResponseObserver рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЯреНрд╡рд┐рдЪ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдЧрд╛ред
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ, рдирд┐рд╡реЗрджрди рдХрд░реЗрдВред
рдХрддрд╛рд░ рд╕реЗ рдЖрдЧреЗ, рд╣рдо рд╕рд░реНрд╡рд░ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдФрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдпрд╣рд╛рдВ, рдЬреЛ рд▓реЛрдЧ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, рдЗрд╕ рдЕрдиреБрд░реЛрдзрдХрд░реНрддрд╛ рдХреЗ рд╕рдорд╛рдкрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЙрд╕ рдкрд░ рдСрдирд░рд░ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдзрд╛рд░рд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдСрдирдХрдВрдкреНрд▓реАрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрдпрд╛ рд╣реИрдВ? рдпрд╣ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдЪреАрдЬ рд╣реИ, рдЗрд╕ рддрдереНрдп рдкрд░ рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╕реАрдзреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдкрд╣рд▓реЗ рдХреБрдЫ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреБрдЫ рднрд╛рдЧреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рднрд╛рдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣рд╛рдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдХреВрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕реНрдХреАрдо рд╕рд░реНрд╡рд░ рдкреБрд╢ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдЪрд░рдо рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреНрд╡рд┐рджрд┐рд╢ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╣реИред рдФрд░ рд╢рд╛рдпрдж рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдпрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рддрдХред рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреБрдЫ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╣рдореЗрдВ pushies рднреЗрдЬреЗрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдорддрджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рдЕрдЧрд▓рд╛ рдлрд╛рдпрджрд╛ рдПрдХ рдорд╢реАрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдзрд╛рд░рд╛ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ-рд╕реЗ-рдЕрдВрдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдПрдХ рдорд╢реАрди рд╕реЗ рдмрдВрдзрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣реАрдВ рднреА рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдХреЛ рд╕рд░рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪреМрд░рд╛рд╣рд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд▓реЗрди-рджреЗрди рдХреА рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рджреНрд╡рд┐рджрд┐рд╢ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдмрд╕ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛, рд╡рд╣ рдореЗрд░реЗ рдХреБрдЫ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдХрддрд╛рд░реЗрдВ рд╣реИрдВ рдЬреЛ рдмрд╕ рджреНрд╡рд┐рджрд┐рд╢ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рд╣реИред
, . . . , - , , . . gRPC .
, gRPC.

, . - . gRPC . , , , , , . , runtime- . , . , OK, runtime- .
, Java . . google.rpc.Status 3 : , . , . , . тАФ , , .
error details, , . : , , , stack traces, . , .
тАФ , HTTP , ? . BadRequest . , , error details, .
. , , BadRequest - ( ), - error detail. , , , - . , .

. . , , , . - - , - - , , . . , , Zipkin. , HTTP , тАФ metadata. .
, . , - , , , .
runtime-, - , . Java ClientInterceptor ServerInterceptor. , , . , , , , , - . , - API - . , , , , - . , gRPC, , - . , , - , , , .

- . -. Java . , , - . - , .

. gRPC тАФ . HTTP/2 . - , ? : , . . , gRPC grpc_cli, curl. , . , -, . , gRPC , .
, evans. , CLI: , , , . , . - , , , , , .
- UI тАФ , Postman, тАФ BloomRPC. Postman . Postman, , , . , BloomRPC , .
- , . , , grpc_cli. . , . , , . , . , - - . тАФ .

, , gRPC. . - , - , . Swagger. , HTTP/1 . OpenAPI , . . , HTTP/2, Swagger тАФ .
WSDL тАФ , . . Swagger, , . . -.
, , , , JAX-RS, Java . .
Twirp. ? Go, . . , , Go , gRPC Twirp. ? , gRPC тАФ , , , IDL . proto- , gRPC-. protoc, , .
Twirp . proto- , HTTP/1.1 , JSON. , Twirp Go. , , Java Jetty. , .

? gRPC тАФ REST . , , , , HTTP/2 balancer. service discovery, . gRPC , . .
gRPC тАФ , . CLI, UI. , .
, gRPC. inter-process-. , sidecar pattern. , . , . , -. - , , -. . , , , , - .
, . gRPC . , . , unary-. , .
:
тАФ
C gRPC тАФ , . , , , .
тАФ
Awesome gRPC тАФ GitHub . , , , . . тАФ , .
рдЖрдк рдХреБрдЫ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпреЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд╕рдВрдж рд╣реИред рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рдпрд╣рд╛рдВ рд╣реИ ред рдзрдиреНрдпрд╡рд╛рдж!
рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ