JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рдорд▓рд╛ рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рдордерд│реНрдпрд╛рдореБрд│реЗ рдЪрд╛рдВрдЧрд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрд▓реА - "рдареАрдХ рдЖрд╣реЗ, рддреЗ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдЖрд╣реЗ..." рдкрд░рдВрддреБ рдорд▓рд╛ 5-10 рдорд┐рдирд┐рдЯреЗ рддреБрдордЪреЗ рд▓рдХреНрд╖ рд╡реЗрдзреВрди рдШреЗрдК рджреНрдпрд╛ рдЖрдгрд┐ рдореА рддреБрдордЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдВрдирд╛ рдирд┐рд░рд╛рд╢ рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди.

рд▓реЗрдЦрд╛рдЪреА рд░рдЪрдирд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЕрд╕реЗрд▓: рдПрдХ рд╕реНрдЯрд┐рд░рд┐рдпреЛрдЯрд╛рдЗрдкрд┐рдХрд▓ рд╡рд┐рдзрд╛рди рдШреЗрддрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдпрд╛ рд╕реНрдЯрд┐рд░рд┐рдпреЛрдЯрд╛рдЗрдкрдЪреНрдпрд╛ рдЙрджрдпрд╛рдЪреЗ "рд╕реНрд╡рд░реВрдк" рдкреНрд░рдХрдЯ рд╣реЛрддреЗ. рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреЕрд░рд╛рдбрд╛рдЗрдордЪреНрдпрд╛ рдирд┐рд╡рдбреАрдХрдбреЗ рдирд╡реАрди рдХреЛрдирд╛рддреВрди рдкрд╛рд╣рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓.

RPC рдХрд╛рдп рдЖрд╣реЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдорд╛рдирдХ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддреЛ JSON-RPC 2.0. REST рд╕рд╣ рд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╛рд╣реА. рдЖрдгрд┐ рддреЗ рдирд╕рд╛рд╡реЗ. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ REST рдмрджреНрджрд▓ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ - рддреЗ рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ HTTP.

RPC рд╡рд┐рдирдВрддреНрдпрд╛ рдЬрд▓рдж рдЖрдгрд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗрдд рдХрд╛рд░рдг рддреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдмреЕрдЪ рд╡рд┐рдирдВрддреНрдпрд╛ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд.

рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА RPC рдордзреНрдпреЗ рддреБрдореНрд╣реА рдПрдХрд╛рдЪ рд╡рд┐рдирдВрддреАрд╡рд░ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓ рдХрд░реВ рд╢рдХрддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХрд░рд╛, рддреНрдпрд╛рд▓рд╛ рдЕрд╡рддрд╛рд░ рдЬреЛрдбрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡рд┐рдирдВрддреАрдиреБрд╕рд╛рд░, рддреНрдпрд╛рд▓рд╛ рдХрд╛рд╣реА рд╡рд┐рд╖рдпрд╛рдВрдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреНрдпрд╛. рдлрдХреНрдд рдПрдХ рд╡рд┐рдирдВрддреА, рдЖрдгрд┐ рдХрд┐рддреА рдлрд╛рдпрджрд╛!

рдЦрд░рдВрдЪ, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рдПрдХ рдмреЕрдХрдПрдВрдб рдиреЛрдб рдЕрд╕рд▓реНрдпрд╛рд╕, рдмреЕрдЪ рд╡рд┐рдирдВрддреАрд╕рд╣ рддреЗ рдЬрд▓рдж рд╡рд╛рдЯреЗрд▓. рдХрд╛рд░рдг рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреАрди REST рд╡рд┐рдирдВрддреНрдпрд╛рдВрдирд╛ рдПрдХрд╛ рдиреЛрдбрдордзреВрди рддрд┐рдкреНрдкрдЯ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓.

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА REST рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдкреНрд░рдердо рд╡рд┐рдирдВрддреА рдирдВрддрд░рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдпрдбреА рдкрд░рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬреНрдпрд╛рдЪрд╛ рдПрдХреВрдг рдирд┐рдХрд╛рд▓рд╛рд╡рд░рд╣реА рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЛ.

рдкрд░рдВрддреБ рдЕрд╢рд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд│ рдЗрди-рд╣рд╛рдКрд╕ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдЖрдгрд┐ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭрдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд. рд╢реЗрд╡рдЯрдЪрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди, рд▓рд╣рд╛рди WEB рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ. рдкрд░рдВрддреБ рдкреВрд░реНрдг рд╡рд╛рдв рдЭрд╛рд▓реЗрд▓реЗ WEB рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕, рдЖрдгрд┐ рдЬреНрдпрд╛рдВрдирд╛ HighLoad рдореНрд╣рдгрддрд╛рдд, рддреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдирд╛рд╣реАрдд. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдиреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЖрдгрд┐ рд▓реЛрдбрдЪреЗ рдирд┐рдХрд╖ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд. рдЖрдгрд┐ рдЪрд┐рддреНрд░ рдмрджрд▓рдд рдЖрд╣реЗ.

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рддреНрдпрд╛рдЪ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдЪреЕрдиреЗрд▓ рд╣рд┐рд░рд╡реНрдпрд╛ рд░рдВрдЧрд╛рдд рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. RPC рдЖрддрд╛ рдХрд╕реЗ рд╡рд╛рдЧрддреЗ рддреЗ рдкрд╣рд╛. рд╡рд┐рдирдВрддреА рдмреЕрд▓рдиреНрд╕рд░рдкрд╛рд╕реВрди рдмреЕрдХрдПрдВрдбрдкрд░реНрдпрдВрдд рдлрдХреНрдд рдПрдХрд╛ рдкрд╛рдпрд╛рд╡рд░ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рдкрд░рддреЗ. REST рдЕрдЬреВрдирд╣реА рдкрд╣рд┐рд▓реНрдпрд╛ рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рдЧрдорд╛рд╡рдд рдЕрд╕рддрд╛рдирд╛, рддреЛ рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рдкрд░реВрди рдЧрдорд╛рд╡рд▓реЗрд▓рд╛ рд╡реЗрд│ рднрд░реВрди рдХрд╛рдврддреЛ.

рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╕рдореГрджреНрдзреАрд╕рд╛рдареА рджреЛрди рдирд╡реНрд╣реЗ рддрд░ рдкрд╛рдЪ рдХрд┐рдВрд╡рд╛ рджрд╣рд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ ... рдЖрдгрд┐ "рдЖрддрд╛ рдХреЛрдг рдЬрд┐рдВрдХрд▓реЗ?" рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░. рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗ.

рдореА рд╕рдорд╕реНрдпреЗрдХрдбреЗ рдЖрдгрдЦреА рд╡рд┐рд╕реНрддреГрддрдкрдгреЗ рдкрд╛рд╣рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддреЛ. рдЖрдХреГрддреАрдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЪреЕрдиреЗрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд рд╣реЗ рджрд╛рдЦрд╡рд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд│ рдЪреЕрдиреЗрд▓рдкреБрд░рддреА рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА. рдЙрдЪреНрдЪ-рд▓реЛрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪрд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ рдХреЕрд╢реЗ. рдЪрд▓рд╛ рдЖрддрд╛ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХрд▓рд╛рдХреГрддреА рдорд┐рд│рд╡реВрдпрд╛. рд╡рд╛рд░рдВрд╡рд╛рд░. рдЪрд▓рд╛ 32 рд╡реЗрд│рд╛ рдореНрд╣рдгреВ.

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рдЙрдЪреНрдЪ рднрд╛рд░рд╛рдЪреНрдпрд╛ рдорд╛рдЧрдгреНрдпрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА RPC рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛ рдХрд╢реА рдЭрд╛рд▓реА рдЖрд╣реЗ рддреЗ рдкрд╣рд╛. рдЧреЛрд╖реНрдЯ рдЕрд╢реА рдЖрд╣реЗ рдХреА REST RPC рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рд╕рдВрдкреВрд░реНрдг рд╢рдХреНрддреА рд╡рд╛рдкрд░рддреЗ. рд╡рд░реАрд▓ рдЪрд┐рддреНрд░рд╛рдд, рд╣реА рд╢рдХреНрддреА рд╡рд┐рдирдВрддреА рдкрджреНрдзрддреА - GET рджреНрд╡рд╛рд░реЗ рд▓рдХреНрд╖рд╛рдд рдпреЗрддреЗ.

HTTP рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ, рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдмрд░реЛрдмрд░рдЪ, рдХреЕрд╢рд┐рдВрдЧ рдзреЛрд░рдгреЗ рдЕрд╕рддрд╛рдд. рдЖрдкрдг рддреНрдпрд╛рдВрдирд╛ рдпреЗрдереЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдд рд╢реЛрдзреВ рд╢рдХрддрд╛ HTTP. RPC рд╕рд╛рдареА, POST рд╡рд┐рдирдВрддреНрдпрд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛ рдЕрд╢рдХреНрдд рдорд╛рдирд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд, рдореНрд╣рдгрдЬреЗрдЪ, рд╕рдорд╛рди POST рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рд╡рд╛рд░рдВрд╡рд╛рд░ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХреЗрд▓реНрдпрд╛рдиреЗ рднрд┐рдиреНрди рдкрд░рд┐рдгрд╛рдо рдорд┐рд│реВ рд╢рдХрддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдкреНрдкрдгреА рдкрд╛рдард╡рд▓реНрдпрд╛рдирдВрддрд░, рдпрд╛ рдЯрд┐рдкреНрдкрдгреАрдЪреА рджреБрд╕рд░реА рдкреНрд░рдд рджрд┐рд╕реВрди рдпреЗрдИрд▓) (рд╕реНрддреНрд░реЛрдд).

рдкрд░рд┐рдгрд╛рдореА, RPC рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЕрд╢реЗ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЕрдХреНрд╖рдо рдЖрд╣реЗ. рдпрд╛рдореБрд│реЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдХреЕрд╢реЗ "рдЖрдпрд╛рдд" рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддреЗ. рдЖрдХреГрддреА рд░реЗрдбрд┐рд╕ рдпрд╛ рднреВрдорд┐рдХреЗрдд рджрд╛рдЦрд╡рддреЗ. рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдХреЕрд╢реЗ, рдпрд╛рдордзреВрди, рд╡рд┐рдХрд╕рдХрд╛рдиреЗ рдХреЛрдбрдЪрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдЖрдгрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рдмрджрд▓ рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрддрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ REST рдЖрдгрд┐ RPC рдиреЗ рдХрд┐рддреА рд╡рд┐рдирдВрддреНрдпрд╛ "рдЬрдиреНрдо" рджрд┐рд▓реНрдпрд╛ рдЖрд╣реЗрдд рддреЗ рдореЛрдЬреВрдпрд╛?

рдЪреМрдХрд╢реНрдпрд╛
рдЗрдирдмреЙрдХреНрд╕
рдмреЕрдХрдПрдВрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА
DBMS рд▓рд╛
рд╕реЙрдлреНрдЯ рдХреЕрд╢реЗрдордзреНрдпреЗ (рд░реЗрдбреАрд╕)
TOTAL

рдЙрд░реНрд╡рд░рд┐рдд
1 / 32 *
1
1
0
3 / 35

рдЬрдирддрд╛ рд╕рд░рдХрд╛рд░рдЪреНрдпрд╛
32
32
1
31
96

[*] рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдХрд░рдгрд╛рдд (рд╕реНрдерд╛рдирд┐рдХ рдХреЕрд╢реЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛рд╕) 1 рд╡рд┐рдирдВрддреА (рдПрдХ!), рд╕рд░реНрд╡рд╛рдд рд╡рд╛рдИрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд 32 рдЗрдирдХрдорд┐рдВрдЧ рд╡рд┐рдирдВрддреНрдпрд╛.

рдкрд╣рд┐рд▓реНрдпрд╛ рдпреЛрдЬрдиреЗрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдлрд░рдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЖрд╣реЗ. рдЖрддрд╛ REST рдЪрд╛ рдлрд╛рдпрджрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЛ. рдкрдг рдореА рддрд┐рдереЗ рдерд╛рдВрдмреВ рдирдпреЗ рдЕрд╕реЗ рд╕реБрдЪрд╡рддреЛ. рд╡рд┐рдХрд╕рд┐рдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ CDN рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдЕрдиреЗрдХрджрд╛ рддреЗ DDoS рдЖрдгрд┐ DoS рд╣рд▓реНрд▓реНрдпрд╛рдВрдирд╛ рддреЛрдВрдб рджреЗрдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдорд┐рд│рддреЗ:

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рдпреЗрдереЗрдЪ RPC рд╕рд╛рдареА рдЧреЛрд╖реНрдЯреА рдЦрд░реЛрдЦрд░рдЪ рд╡рд╛рдИрдЯ рд╣реЛрддрд╛рдд. RPC CDN рд╡рд░ рдХрд╛рдорд╛рдЪрд╛ рднрд╛рд░ рд╕реЛрдкрд╡рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдирд╛рд╣реА. рд╣рд▓реНрд▓реНрдпрд╛рдВрдирд╛ рддреЛрдВрдб рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдлрдХреНрдд рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд░рд╛рд╣реВ рд╢рдХрддреЛ.

рдЗрдереЗрдЪ рд╕рдВрдкрд╡рддрд╛ рдпреЗрдИрд▓ рдХрд╛? рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛, рдирд╛рд╣реА. HTTP рдкрджреНрдзрддреА, рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рддреНрдпрд╛рдВрдЪреА рд╕реНрд╡рддрдГрдЪреА "рдЬрд╛рджреВ" рдЖрд╣реЗ. рдЖрдгрд┐ рд╣реЗ рд╡рд┐рдирд╛рдХрд╛рд░рдг рдирд╛рд╣реА рдХреА GET рдкрджреНрдзрдд рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рд╣реА рдкрджреНрдзрдд рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдПрдХрд╛ рднрд╛рдЧрд╛рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ, рдЖрдкрд▓реНрдпрд╛ рдХреЛрдбрд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдШрдЯрдХрд╛рдВрдЪрд╛ рдЕрд░реНрде рд▓рд╛рд╡реВ рд╢рдХрддреАрд▓ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреА рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ рдЖрдгрд┐ рдЕрд╕реЗрдЪ. рд╣реЗ рд╕рд░реНрд╡ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд╡рдЪрд┐рдХ, рдЖрдЯреЛрдкрд╢реАрд░ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЬреЗ рдЦрд░реЛрдЦрд░рдЪ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рдирдВрддреНрдпрд╛ рд╣рд╛рддрд╛рд│реВ рд╢рдХрддрд╛рдд. рдкрд░рдВрддреБ RPC рдордзреНрдпреЗ рд╣реА рдкрджреНрдзрдд... рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдЖрд╣реЗ.

рдордЧ рдмреЕрдЪ рд╡рд┐рдирдВрддреНрдпрд╛ (RPC) рдЬрд▓рдж рдЖрд╣реЗрдд рдЕрд╕рд╛ рд╕рдордЬ рдХрд╛ рдЖрд╣реЗ? рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛, рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд▓реНрдк рдХреЗрд╡рд│ рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдЕрд╢рд╛ рд╕реНрддрд░рд╛рд╡рд░ рдкреЛрд╣реЛрдЪрдд рдирд╛рд╣реАрдд рдЬрд┐рдереЗ REST рдЖрдкрд▓реА рддрд╛рдХрдж рджрд╛рдЦрд╡реВ рд╢рдХреЗрд▓. рд╢рд┐рд╡рд╛рдп, рдЫреЛрдЯреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рддреЛ рддреНрдпрд╛рдЪреНрдпрд╛ рдХрдордХреБрд╡рддрдкрдгрд╛ рджрд╛рдЦрд╡рдгреНрдпрд╛рд╕ рдЕрдзрд┐рдХ рдЗрдЪреНрдЫреБрдХ рдЕрд╕рддреЛ.

REST рдХрд┐рдВрд╡рд╛ RPC рдЪреА рдирд┐рд╡рдб рд╣реА рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рд╡реНрдпрдХреНрддреАрдЪреА рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдирд┐рд╡рдб рдирд╛рд╣реА. рд╣реА рдирд┐рд╡рдб рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреВрд░реНрдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬрд░ рдПрдЦрд╛рджрд╛ рдкреНрд░рдХрд▓реНрдк REST рдордзреВрди рдЬреЗ рдХрд╛рд╣реА рдХрд░реВ рд╢рдХрддреЛ рддреЗ рд╕рд░реНрд╡ рдкрд┐рд│реВрди рдХрд╛рдвреВ рд╢рдХрдд рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдЪреА рдЦрд░реЛрдЦрд░ рдЧрд░рдЬ рдЕрд╕реЗрд▓, рддрд░ REST рд╣рд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкрд░реНрдпрд╛рдп рдЕрд╕реЗрд▓.

рдкрд░рдВрддреБ, рдЬрд░ REST рдЪреЗ рд╕рд░реНрд╡ рдлрд╛рдпрджреЗ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рддреНрд╡рд░реАрдд рд╕реНрдХреЗрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА devops рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ, рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╢рд╛рд╕рдХ, WEB рд╕реЗрд╡реЗрдЪреЗ рд╕рд░реНрд╡ рд╕реНрддрд░ рдбрд┐рдЭрд╛рдЗрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ... рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. , рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рджрд┐рд╡рд╕рд╛рд▓рд╛ рддреАрди рдкреЕрдХ рдорд╛рд░реНрдЬрд░реАрди рд╡рд┐рдХрддреЛ... рдореА RPC рд▓рд╛ рдЪрд┐рдХрдЯреВрди рд░рд╛рд╣реАрди, рдХрд╛рд░рдг... рд╣рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрддрддрд╛рд╡рд╛рджреА рдЖрд╣реЗ. рдХреЕрд╢реЗ рдЖрдгрд┐ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреЗ рд╕рдЦреЛрд▓ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рд╕рд╛рдзреНрдпрд╛ рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рдпреЛрдЧреНрдп рдХреЙрд▓рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрд▓. рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдд рдЖрдирдВрдж рд╣реЛрдИрд▓.

RPC рд╡рд┐рдирдВрддреНрдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрд╣реЗрдд рдХрд╛рд░рдг рддреНрдпрд╛ рдПрдХрд╛рдЪ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдмреЕрдЪ рд╡рд┐рдирдВрддреНрдпрд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгреВ рд╢рдХрддрд╛рдд

RPC рдЪреА рд╣реА рдорд╛рд▓рдорддреНрддрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╛рдпрджрд╛ рдЖрд╣реЗ, рдХрд╛рд░рдг рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реБрд╕рдВрдЧрдд рдареЗрд╡рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдкрдг REST рд╕рд╣ рддреЗ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рд╣реЛрдд рдЬрд╛рддреЗ. рд╡рд┐рдирдВрддреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдмреЕрдХрдПрдВрдб рдиреЛрдбреНрд╕рд╡рд░ рд╡рд┐рд╕рдВрдЧрддрдкрдгреЗ рдпреЗрдК рд╢рдХрддрд╛рдд.

REST рдЪрд╛ рд╣рд╛ "рддреЛрдЯрд╛" рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдлрд╛рдпрджреНрдпрд╛рдЪреА рджреБрд╕рд░реА рдмрд╛рдЬреВ рдЖрд╣реЗ - рд╕рд░реНрд╡ рдкрд╛рдпрд╛рднреВрдд рд╕рдВрд╕рд╛рдзрдиреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдЬрд░ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рд░рдЪрдирд╛ рдЦрд░рд╛рдм рдХреЗрд▓реА рдЧреЗрд▓реА рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рд╣реАрдкреЗрдХреНрд╖рд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрдГ рдбреЗрдЯрд╛рдмреЗрд╕ рдЦрд░рд╛рдм рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░ рд╣реА рдЦрд░реЛрдЦрд░ рдореЛрдареА рд╡реЗрджрдирд╛ рдЖрд╣реЗ.

рдкрдг рдмреЕрдЪ рд╡рд┐рдирдВрддреНрдпрд╛ рд╡рд╛рдЯрддрд╛рдд рддрд┐рддрдХреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЖрд╣реЗрдд? рдЪрд▓рд╛ рдПрдХ рдХреЗрд╕ рдкрд╛рд╣реВ: рдЖрдореНрд╣реА рдПрдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХрд░рддреЛ, рддреНрдпрд╛рдЪреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛рд╣реА рд╡рд░реНрдгрдирд╛рд╕рд╣ рд╕рдореГрджреНрдз рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ рдиреЛрдВрджрдгреА рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЧреБрдкреНрдд рдПрд╕рдПрдордПрд╕ рдкрд╛рдард╡рддреЛ. рддреНрдпрд╛. рдПрдХрд╛ рдмреЕрдЪ рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рддреАрди рдХреЙрд▓.

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

рдЪрд▓рд╛ рдЖрдХреГрддреА рдкрд╛рд╣реВ. рд╣реЗ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдШрдЯрдХрд╛рдВрд╕рд╣ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╕рд╛рджрд░ рдХрд░рддреЗ. рдПрд╕рдПрдордПрд╕ рдЧреЗрдЯрд╡реЗрд╕рд╣ рджреЛрди рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рдЖрд╣реЗрдд. рдкрдг... рдЖрдкрдг рдХрд╛рдп рдкрд╛рд╣рддреЛ? рдПрд╕рдПрдордПрд╕ рдкрд╛рдард╡рддрд╛рдирд╛, рдПрдХ рддреНрд░реБрдЯреА 503 рдпреЗрддреЗ - рд╕реЗрд╡рд╛ рддрд╛рддреНрдкреБрд░рддреА рдЕрдиреБрдкрд▓рдмреНрдз рдЖрд╣реЗ. рдХрд╛рд░рдг рдПрд╕рдПрдордПрд╕ рдкрд╛рдард╡рдгреЗ рдмреЕрдЪ рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рдкреЕрдХ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рддреНрдпрд╛рдирдВрддрд░ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдирдВрддреА рдкрд░рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. DBMS рдордзреАрд▓ рдХреНрд░рд┐рдпрд╛ рд░рджреНрдж рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдПрдХ рддреНрд░реБрдЯреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ.

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

рдареАрдХ рдЖрд╣реЗ, рдЪрд▓рд╛ рдХрд▓реНрдкрдирд╛ рдХрд░реВрдпрд╛ рдХреА рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рддрд╛рдгрд▓реЗ рдЖрд╣реЗ (!) рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рдирдВрддреА рдЕрдВрд╢рддрдГ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рддреЗрд╡реНрд╣рд╛ рдкрд░реНрдпрд╛рдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛. рдЖрдгрд┐ рдХрд╛рд╣реА рд╡реЗрд│рд╛рдЪреНрдпрд╛ рдЕрдВрддрд░рд╛рдиреЗ рдкреБрдиреНрд╣рд╛ рдЙрд░рд▓реЗрд▓реЗ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ (рдХреЛрдгрддреЗ? рд╕рдореЛрд░рдЪреЗ рдард░рд╡рддреЗ рдХрд╛?). рдкрдг рд▓реЙрдЯрд░реА рддрд╢реАрдЪ рд░рд╛рд╣рд┐рд▓реА. рдПрд╕рдПрдордПрд╕ рдкрд╛рдард╡рдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдкреБрдиреНрд╣рд╛ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдгреНрдпрд╛рдЪреА 50/50 рд╢рдХреНрдпрддрд╛ рдЕрд╕рддреЗ.

рд╕рд╣рдордд, рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ, рд╕реЗрд╡рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ рддрд┐рддрдХреА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рд╡рд╛рдЯрдд рдирд╛рд╣реА... REST рдЪреЗ рдХрд╛рдп?

JSON-RPC? рдЕрд╡рдШрдб REST рдШреНрдпрд╛

REST рдкреБрдиреНрд╣рд╛ HTTP рдЪреА рдЬрд╛рджреВ рд╡рд╛рдкрд░рддреЗ, рдкрд░рдВрддреБ рдЖрддрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЛрдбрд╕рд╣. рдЬреЗрд╡реНрд╣рд╛ SMS рдЧреЗрдЯрд╡реЗрд╡рд░ 503 рддреНрд░реБрдЯреА рдЖрдврд│рддреЗ, рддреЗрд╡реНрд╣рд╛ рдмреЕрдХрдПрдВрдб рд╣реА рддреНрд░реБрдЯреА рдмреЕрд▓рдиреНрд╕рд░рд╡рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддреЛ. рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рд╣реА рддреНрд░реБрдЯреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрд╢реА рдХрдиреЗрдХреНрд╢рди рддреЛрдбрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп, рд╡рд┐рдирдВрддреА рджреБрд╕рд░реНрдпрд╛ рдиреЛрдбрд▓рд╛ рдкрд╛рдард╡рддреЗ, рдЬреА рд╡рд┐рдирдВрддреАрд╡рд░ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ. рддреНрдпрд╛. рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ, рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ "рдЙрдЪреНрдЪ рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп" рд╢реАрд░реНрд╖рдХрд╛рдЪреА рдкреБрд╖реНрдЯреА рдХрд░рддреЗ. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдирдВрджреА рдЖрд╣реЗ.

рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рддреЗ рд╕рд░реНрд╡ рдирд╛рд╣реА. рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рдлрдХреНрдд 503 рдЪрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЛрдб рдорд┐рд│рд╛рд▓рд╛ рдирд╛рд╣реА. рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддрд╛рдирд╛, рдорд╛рдирдХрд╛рдиреБрд╕рд╛рд░, рд╣рд╛ рдХреЛрдб тАЬрдкреБрдиреНрд╣рд╛ рдкреНрд░рдпрддреНрди-рдЖрдлреНрдЯрд░тАЭ рд╣реЗрдбрд░рд╕рд╣ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЙрдЪрд┐рдд рдЖрд╣реЗ. рд╣реЗрдбрд░ рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рдХреА рдпрд╛ рдорд╛рд░реНрдЧрд╛рд╡рд░реАрд▓ рдпрд╛ рдиреЛрдбрд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡реЗрд│реЗрд╕рд╛рдареА рддреНрд░рд╛рд╕ рджреЗрдгреЗ рдпреЛрдЧреНрдп рдирд╛рд╣реА. рдЖрдгрд┐ рдПрд╕рдПрдордПрд╕ рдкрд╛рдард╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рд╡рд┐рдирдВрддреНрдпрд╛ рдереЗрдЯ рдиреЛрдбрд╡рд░ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓ рдЬреНрдпрд╛рд▓рд╛ рдПрд╕рдПрдордПрд╕ рдЧреЗрдЯрд╡реЗрдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА.

рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддреЛ, JSON-RPC рдЪреА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдУрд╡реНрд╣рд░рд░реЗрдЯ рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ. рдЦрд░рдВрдЪ, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдкрд░рдВрддреБ рдмрд▓рд┐рджрд╛рди, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реАрдЪреА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдЕрд╕реЗрд▓.

рдирд┐рд╖реНрдХрд░реНрд╖ рдореБрдЦреНрдпрддреНрд╡реЗ рдорд╛рдЧреАрд▓ рд╕рд╛рд░рдЦрд╛рдЪ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╕реЛрдкреНрдпрд╛ рдЕрд╕рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ JSON-RPC рдЪреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдПрдХ рдкреНрд▓рд╕ рдЖрд╣реЗ. рдЬрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЙрдЪреНрдЪ рднрд╛рд░рд╛рд╕рд╣ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕реЗрд▓, рддрд░ REST рдЕрдзрд┐рдХ рдЕрдЪреВрдХ, рдЬрд░реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓, рд╕рдорд╛рдзрд╛рдирд╛рд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддреЗ.

REST рд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢рд╛рдЪрд╛ рдЙрдВрдмрд░рдард╛ рдХрдореА рдЖрд╣реЗ

рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рд╡рд░реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдиреЗ, RPC рдмрджреНрджрд▓рдЪреНрдпрд╛ рдкреНрд░рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдЯрд┐рд░рд┐рдпреЛрдЯрд╛рдЗрдкрдЪреЗ рдЦрдВрдбрди рдХрд░реВрди, REST рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рдорд░реНрдпрд╛рджрд╛ рдирд┐рдГрд╕рдВрд╢рдпрдкрдгреЗ RPC рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ. рд╣реЗ HTTP рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рд╕рдЦреЛрд▓ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ, рддрд╕реЗрдЪ WEB рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрдгрд╛рд░реНтАНрдпрд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рдкрд╛рдпрд╛рднреВрдд рдШрдЯрдХрд╛рдВрдмрджреНрджрд▓ рдкреБрд░реЗрд╕реЗ рдЬреНрдЮрд╛рди рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдордЧ рдмрд░реНрдпрд╛рдЪ рд▓реЛрдХрд╛рдВрдирд╛ рдЕрд╕реЗ рдХрд╛ рд╡рд╛рдЯрддреЗ рдХреА REST рд╕реЛрдкреЗ рд╣реЛрдИрд▓? рдорд╛рдЭреЗ рд╡реИрдпрдХреНрддрд┐рдХ рдордд рдЕрд╕реЗ рдЖрд╣реЗ рдХреА рд╣реЗ рдЙрдШрдб рд╕рд╛рдзреЗрдкрдгрд╛ REST рдордзреВрди рдкреНрд░рдХрдЯ рд╣реЛрддреЗ. рддреНрдпрд╛. REST рд╣рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╕реВрди рдПрдХ рд╕рдВрдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ... REST рд▓рд╛ рдорд╛рдирдХ рдирд╛рд╣реА, рдХрд╛рд╣реА рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрддреНрд╡реЗ рдЖрд╣реЗрдд... REST HTTP рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдирд╛рд╣реА. рдЙрдШрдб рд╕реНрд╡рд╛рддрдВрддреНрд░реНрдп рдЖрдгрд┐ рдЕрд░рд╛рдЬрдХрддрд╛ "рдореБрдХреНрдд рдХрд▓рд╛рдХрд╛рд░рд╛рдВрдирд╛" рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ.

рдЕрд░реНрдерд╛рдд, REST HTTP рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдирд╛рд╣реА. рдкрд░рдВрддреБ HTTP рд╣рд╛ рд╕реНрд╡рддрдГрдЪ рдПрдХ рд╕реБ-рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЖрд╣реЗ рдЬреНрдпрд╛рдиреЗ рдЕрдиреЗрдХ рджрд╢рдХрд╛рдВрдкрд╛рд╕реВрди рддреНрдпрд╛рдЪреЗ рдореВрд▓реНрдп рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЬрд░ HTTP рдЪреА рд╕реНрд╡рддрдГрдЪреА рд╕рдЦреЛрд▓ рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓, рддрд░ REST рдЪрд╛ рдиреНрдпрд╛рдп рдХрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА.

рдкрд░рдВрддреБ RPC рдмрджреНрджрд▓ - рдЖрдкрдг рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛. рддреНрдпрд╛рдЪреЗ рддрдкрд╢реАрд▓ рдШреЗрдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ. рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЧрд░рдЬ рдЖрд╣реЗ рдореВрд░реНрдЦ JSON-RPC? рдХрд┐рдВрд╡рд╛ рддреЛ рдЕрдЬреВрдирд╣реА рдЕрд╡рдШрдб REST рдЖрд╣реЗ? рддреБрдореНрд╣реА рдард░рд╡рд╛.

рдорд▓рд╛ рдордирд╛рдкрд╛рд╕реВрди рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдореА рддреБрдордЪрд╛ рд╡реЗрд│ рд╡рд╛рдпрд╛ рдШрд╛рд▓рд╡рд▓рд╛ рдирд╛рд╣реА.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛