рдпрд╣ рд▓реЗрдЦ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдХрдИ рд▓реЛрдЧреЛрдВ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди - рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдмреЗрд╣рддрд░ред рд▓реЗрдХрд┐рди рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред
рд╡реНрдпрд╛рдкрд╛рд░ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реНрдерд┐рд░рддрд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ ред

"рдкрд╛рдВрдЪ рд╕реМ" рдХреЗ 84 рдЖрд░рдкреАрдПрд╕ рдкрд░ рдЫреЛрдЯреЗ рдорд┐рдирдЯ рдХреА рдЪреЛрдЯреА рдкрд╛рдВрдЪ рд╣рдЬрд╛рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдорд┐рд▓реА рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдХрд╛рд░рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдирд┐рдХреЛрд▓реЗ рд╕рд┐рд╡рдХреЛ (
рдирд┐рдХреЛрд▓реЗрд╕реЗрд╡рдХреЛ ) рдиреЗ рд░реВрдЯрдХреЙрдиреНрдл 2018 рдкрд░ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╕реВрдХреНрд╖реНрдо рдФрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА:
- рдЬрдм рдЕрдиреБрд░реЛрдз (рдкреБрди: рдкреНрд░рдпрд╛рд╕) рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП;
- рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ;
- рдХреИрд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ / рднреАрдбрд╝ рдХреЗ рд╕рдордп рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ;
- рдХреНрдпрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
- рдХреИрд╕реЗ рдЪрдВрдЪрд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдХреИрдЯ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рддрд╣рддред
рд╡рдХреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдирд┐рдХреЛрд▓реЗ рд╢рд┐рд╡рдХреЛ okmeter.io рдХреЗ рд╕рд╣-рд╕рдВрд╕реНрдерд╛рдкрдХред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдФрд░ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рдиреЗрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред Hh.ru рдкрд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬреНрдб рдСрдкрд░реЗрд╢рдиред рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛ okmeter.io рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАред рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдиреБрднрд╡ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рд╣реИред
рд╣рдо рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?
рдпрд╣ рд▓реЗрдЦ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рдиреАрдЪреЗ рд▓рд╛рдЗрд╡ рдЙрддреНрдкрд╛рджрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: рдЧреНрд░рд╛рдлрд╝ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдз рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдЬрдм рдореИрдВ рд╕рдВрддреБрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХрдИ рд▓реЛрдЧ рдЗрд╕реЗ "рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдмреЗрд╣рддрд░ рд╣реИред"

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рдХрдо рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдЕрдзрд┐рдХ рдмрд╛рд░ рд╡реНрдпрд╛рдкрд╛рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИред

рдЧреНрд░рд╛рдл рдкрд░ рдЫреЛрдЯреА рдЪреЛрдЯреА "рдкрд╛рдВрдЪ рд╕реМ" рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд░реНрд╡рд░ рдПрдХ рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕реА рд╡реНрдпрд╡рд╕рд╛рдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░, "рдкрд╛рдВрдЪ рд╕реМ" рдХреЗ 84 рдЖрд░рдкреАрдПрд╕ рдкрд░ рдпрд╣ рдЫреЛрдЯреА рд╕реА рдЪреЛрдЯреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП 5040 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдХреБрдЫ рдХреЛ рдЖрдкрдХреЗ рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЕрдиреНрдп рд▓реЛрдЧ рдЯреЛрдХрд░реА рдореЗрдВ рд╕рд╛рдорд╛рди рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рдереЗред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЪреЛрдЯреА рдЪрд╛рд░реНрдЯ рдкрд░ рдмрд╣реБрдд рдмрдбрд╝реА рдирд╣реАрдВ рджрд┐рдЦрддреА рд╣реИ,
рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ ред
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рднреА рдХреЗ рдкрд╛рд╕ рдРрд╕реА рдЪреЛрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рдФрд░ рдкреНрд░рд╡реЗрд╢рдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рдЙрдиреНрд╣реЗрдВ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмрд╛рд░, рдЬрдм рдХреЛрдИ рд╡реНрдпрд╡рд╕рд╛рдп рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕реЗ рдЬрд╡рд╛рдм рджрд┐рдпрд╛:
- "рдпрд╣ рдПрдХ рдЫреЛрдЯреА рдлрдЯ рд╣реИ!"
- "рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд░рд┐рд▓реАрдЬ рд░реЛрд▓рд┐рдВрдЧ рд╣реИред"
- "рд╕рд░реНрд╡рд░ рдорд░ рдЪреБрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣реИред"
- "рд╡рд╛рд╕реНрдпрд╛ рдиреЗ рдмреИрдХрдПрдВрдб рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред"
рдЕрдХреНрд╕рд░ рд▓реЛрдЧ
рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ, рдФрд░ рдХреЛрдИ рднреА рдкреЛрд╕реНрдЯ-рд╡рд░реНрдХ рди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдРрд╕рд╛ рджреЛрдмрд╛рд░рд╛ рди рд╣реЛред
рдареАрдХ рдзреБрди
рдореИрдВрдиреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ "рдлрд╛рдЗрди рдЯреНрдпреВрдирд┐рдВрдЧ" (рдЗрдВрдЬреАред рдЯреНрдпреВрдирд┐рдВрдЧ) рдХрд╣рд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛ред рд╡реЗ рд╡рд╣рд╛рдБ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд┐рд▓рддреЗ?
- рд╣рд░ рдХреЛрдИ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдлрдХрд╛рдкрд╛ рд╣рд░ рджрд┐рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЧрдВрднреАрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рдЖрдкрдХреЛ рдмрд╣реБрдд рдХреБрдЫ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдмрд╣реБрдд рдмрд╛рд░, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ - рдЬреЛ рд╡реНрдпрдХреНрддрд┐ рд╕рдВрддреБрд▓рди рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХреНрдпреЛрдВред
- рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрддрд░реЛрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЙрди рдирд┐рд░реНрдгрдпреЛрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЬреЛ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдФрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ:- рджреБрдирд┐рдпрд╛ рдмрджрд▓ рд░рд╣реА рд╣реИ, рдЕрдзрд┐рдХ рдЧрддрд┐рд╢реАрд▓ рдмрди рд░рд╣реА рд╣реИ, рдХрдИ рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВред рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рджрд┐рди рдореЗрдВ 100 рдмрд╛рд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдирд╛ рд╕рд╣реА рд╣реИ, рдФрд░ рд░рд┐рд▓реАрдЬрд╝ 50 рд╕реЗ 50 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рднрд╡рд┐рд╖реНрдп рдХрд╛ рдлрд╝рдХреИрдк рд╣реИ (рдЬреИрд╕реЗ рдбрд╛рдпрдирд╛рд╕реЛрд░ рдХреЗ рдорд┐рд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛)
- рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЧрддрд┐рд╢реАрд▓ рднреА рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯ рдФрд░ рдЕрдиреНрдп рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдХреЛрдИ рдЕрдЪреНрдЫреА рдкреБрд░рд╛рдиреА рддреИрдирд╛рддреА рдирд╣реАрдВ рд╣реИ, рдЬрдм рдХреБрдЫ рдЖрдИрдкреА рдкрд░ рдПрдХ рдмреИрдХрдПрдВрдб рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрджреНрдпрддрди рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛ рдКрдкрд░ рдЬрд╛рддреА рд╣реИред рдЕрдм k8s рдореЗрдВ рд░реЛрд▓рдЖрдЙрдЯ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрдИрдкреА рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреА рд╕реВрдЪреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд░рд╣реА рд╣реИред
- рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕: рдЕрдм рд╣рд░ рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдВрддреБрд▓рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред
рдЯреЗрд╕реНрдЯ рд╕реНрдЯреИрдВрдб
рдЪрд▓реЛ рд╕рд░рд▓, рд╕реНрдкрд╖реНрдЯ рдорд╛рдорд▓реЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдПрдХ рдЧреЛрд▓рд╛рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ http-200 рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдЖрдк рдЗрд╕реЗ "http-503" рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо 3 рдЙрджрд╛рд╣рд░рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
- 127.0.0.1:20001
- 127.0.0.1:20002
- 127.0.0.1:20003
рд╣рдо nandx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ yandex.tank рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 100rps рдХреА рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ Nginx:
upstream backends { server 127.0.0.1:20001; server 127.0.0.1:20002; server 127.0.0.1:20003; } server { listen 127.0.0.1:30000; location / { proxy_pass http://backends; } }
рдЖрджрд┐рдо рдкрд░рд┐рджреГрд╢реНрдп
рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, 503 рдореЛрдб рдореЗрдВ рдмреИрдХрдПрдВрдб рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдФрд░ рд╣рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ
рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА, рддреЛ рдирдЧреНрдиреЗрдХреНрд╕ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ рд╣реИред
Nginx default: proxy_next_upstream error timeout;
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдирдЧрдиреЗрдХреНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрдХреНрд╖ рд╕реЗ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ: рдирдЧрдиреЗрдХреНрд╕ рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред
рддрджрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рд░рд┐рдЯреНрд░реАрдЯ - рд░рд┐рдЯреНрд░реАрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕
рдЗрд╕рдХреЗ рдмреАрдЪ рд╕рдордЭреМрддрд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдкрд╡рд┐рддреНрд░ рд╣реИ, рдЪреЛрдЯ рд▓рдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╡рд╛рдм рджреЗрдВред рд╣рдо рд╣рд░ рдХреАрдордд рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
- рд╕рд░реНрд╡рд░ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред
- рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддрд╛ (рдЧреИрд░-рдмреЗрд░реЛрдЬрдЧрд╛рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП), рдпрд╛рдиреА рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рд╕рдЪреНрдЪрд╛рдИ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЗрди рддреАрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИред рдЖрдЗрдП рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗред
рдореИрдВрдиреЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ 3 рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
1.
рдкрд░рд┐рд╡рд╣рди рддреНрд░реБрдЯрд┐HTTP рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП TCP рд╣реИ, рдФрд░, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдВ рд╣рдо рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдореИрдВ 3 рд╕рд╛рдорд╛рдиреНрдп рдмреИрдирдХреНрд░реИрдХрд░реНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдБрдЧрд╛ (рд╣рдо рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдЧреЗ рджреВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ):
- nginx : рддреНрд░реБрдЯрд┐рдпрд╛рдБ + рдЯрд╛рдЗрдордЖрдЙрдЯ (рдкреНрд░реЙрдХреНрд╕реА_рдХрдиреЗрдХреНрдЯ_рдЯрд╛рдЗрдо);
- HAProxy : рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрдиреЗрдХреНрдЯ;
- рджреВрдд : рдХрдиреЗрдХреНрдЯ-рд╡рд┐рдлрд▓рддрд╛ + рдЗрдирдХрд╛рд░-рдзрд╛рд░рд╛ред
рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ рдХрд┐ рдПрдХ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ рдПрдХ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдФрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ; HAProxy рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ, Envoy рдореЗрдВ рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
2.
рдЕрдиреБрд░реЛрдз рд╕рдордпрдмрд╛рд╣реНрдп:рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рд╣реИ, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрд╕рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╡рд╛рдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
- Nginx рдореЗрдВ: рдЯрд╛рдЗрдордЖрдЙрдЯ (prox_send_timeout * +xy_read_timeout *);
- HAProxy рдХрд╛ OOPS рд╣реИ :( - рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ HAProxy, рдпрджрд┐ рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдлрд┐рд░ рд╕реЗ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
- рджреВрдд рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдЯрд╛рдЗрдордЖрдЙрдЯ || per_try_timeoutред
3.
HTTP рд╕реНрдерд┐рддрд┐HAProxy рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдмреИрд▓реЗрдВрд╕рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдЕрдЧрд░ рдлрд┐рд░ рднреА рдмреИрдХрдПрдВрдб рдиреЗ рдЖрдкрдХреЛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдЧрд▓рдд рдХреЛрдб рдХреЗ рд╕рд╛рдеред
- nginx : http_ *
- HAProxy : OOPS :(
- рдПрдирд╡реЙрдп : 5xx, рдЧреЗрдЯрд╡реЗ-рдПрд░рд░ (502, 503, 504), рд░рд┐рдЯреНрд░реАрдПрдмрд▓ -4xx (409)
рд╕рдордп рд╕рдорд╛рдкреНрддрд┐
рдЕрдм рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рд░реЙрдХреЗрдЯ рд╕рд╛рдЗрдВрд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрд░рдЪрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рдХрдиреЗрдХреНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдХрдиреЗрдХреНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рднреА рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЧрд▓рдд рд╣реИ - рдпрд╣
рдЗрдХрд╛рдЗрдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
, рдХрднреА-рдХрднреА рджрд╕рд┐рдпреЛрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб (рдпрджрд┐ рд╣рдо рдПрдХ рдбреАрд╕реА рдХреЗ рднреАрддрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред
рдпрджрд┐ рдЖрдк рдЗрди рдЗрдХрд╛рдЗрдпреЛрдВ-рджрд╕рд┐рдпреЛрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╕рд░реНрд╡рд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рдмреИрдХрд▓реЙрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ рдмреИрдХрдПрдВрдб рдкрд░ рд▓реЛрдб рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдмреИрдХрд▓реЙрдЧ рднрд░рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдмреИрдХрд▓реЙрдЧ рдХреЛ рдУрд╡рд░рдлреНрд▓реЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХреЛ рдмрддрд╛рдПрдВред рдлрд┐рд░ рдЖрдк рдХрдиреЗрдХреНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдкрд╣рд▓реЗ "рдЦрд░рд╛рдм" рдУрд╡рд░рд▓реЛрдб рдмреИрдХреЗрдВрдб рдХреЛ рд╢реВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ:
fail fast: listen backlog + net.ipv4.tcp_abort_on_overflow
рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
рдЕрдиреБрд░реЛрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди
рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рдореВрд╣ (рд╣реИрдВрдбрд▓рд░)
рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ ред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рд╣реИрдВ - рд╡реЗ рдЧрдВрднреАрд░рддрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ, рдЙрдирдХреЗ рдЕрдВрджрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реНрдХ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирдВрдЧреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдпрдВ
рдкреВрд░реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╣реИ:
- xy_send_timeout: рджреЛ рд╕рдлрд▓ рд▓реЗрдЦрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп рд▓рд┐рдЦрдирд╛ ();
- xy_read_timeout: рджреЛ рд╕рдлрд▓ рд░реАрдб рд░реАрдб () рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордпред
рдпрд╣реА рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдзреАрд░реЗ-рдзреАрд░реЗ рдмреИрдХрдПрдВрдб рд╣реИ, рддреЛ рдПрдХ рдмрд╛рд░ рдмрд╛рдЗрдЯ, рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рдХреБрдЫ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдЬреИрд╕реЗ, nginx рдореЗрдВ request_timeout рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдКрдкрд░ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдореЗрдВ рд╡реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕реНрд▓реЛ рд▓реЛрд░рд┐рд╕ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, read_timeout request_timeout рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдиреНрд╡реЙрдп рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рдм рд╣реИ: рдЯрд╛рдЗрдордЖрдЙрдЯ || per_try_timeoutред
рдЕрдиреБрд░реЛрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
рдЕрдм, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рд░рдЦрд╛ рдЬрд╛рдПред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдзрд┐рдХрддрдо рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 10 рдПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕реЗ рддреЗрдЬреА рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдпрджрд┐ рд╣рдо рдПрдХ рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрдзрд┐рдХрддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: request_timeout рдЕрдзрд┐рдХрддрдоред
- рдпрджрд┐ рдЖрдк рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреИрдХреЗрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП 2 рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рдЗрд╕ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдЖрдзреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ: per_try_timeout = 0.5 * рдореИрдХреНрд╕ред
- рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ - рдкрд╣рд▓реЗ рдмреИрдХреЗрдВрдб рдХреЗ "рд╕реБрд╕реНрдд" рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ 2 рдЖрд╢рд╛рд╡рд╛рджреА рдкреНрд░рдпрд╛рд╕ , рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рддреБрд░рдВрдд рдЬрд╡рд╛рдм рджреЗрдЧрд╛: per_try_timeout = k * max (рдЬрд╣рд╛рдВ k> 0.5)ред
рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░,
рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪреБрдирдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ ред рд╣рдореЗрд╢рд╛ рд╕реАрдорд╛ рдХреЗ рдорд╛рдорд▓реЗ рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рд╣реА рд╣реИрдВрдбрд▓рд░ рдХреЛ 10 рдПрдордПрд╕ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 500 рдПрдордПрд╕ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ 1% рдорд╛рдорд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕ 1% рдХреЗ рд╕рд╛рде, рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкреВрд░рд╛ рд╕рдореВрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SLA рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ 100 ms рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди рдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдмрд╛рд░ рдЖрд╡реЗрджрди рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдкреЗрдЬрд┐рдВрдЧ рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
- рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдордп-рд╕реАрдорд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдореВрд╣реЛрдВ рдХреЗ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рдо рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдорд░рдореНрдордд / рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдПрдХ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рдХрд┐ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдВрдЧреЗ (рдпрд╣ рдПрдХ рдкреНрд░рд╛рдЪреАрди рдЪреАрдиреА рдХрд╣рд╛рд╡рдд рд╣реИ: "рдпрджрд┐ рдШреЛрдбрд╝реА рдорд░ рдЧрдИ рд╣реИ, рддреЛ рдЙрддрд░реЗрдВ!")
редрдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ:
- рдпрджрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИ, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╕рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред
рд╕рдЯреНрдЯрд╛ рд░рд┐рдЯреНрд░реАрдЯ # рдирд┐рдлрд╝рдЧ
рд╣рдордиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореВрд▓реНрдп рдЪреБрдирдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреБрдЫ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :)
рд╕рдЯреНрдЯрд╛ рд░реАрд░реЗрдХреНрдЯ - рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдиреБрд░реЛрдз, рдЬрд┐рд╕реЗ рдХреБрдЫ рд╕реНрдерд┐рддрд┐ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдз рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рддреЗрдЬреА рд╕реЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрддреНрддрд░ рд▓реЗрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдмреИрд▓реЗрдиреНрд╕рд░ рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреИрд╕реЗрдВрдбреНрд░рд╛ (рддреЗрдЬреА рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рд╕реБрд░рдХреНрд╖рд╛) рдХреЗ рд╕рд╛рде рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рд╕рдЯреНрдЯрд╛_рд░реЗрдЯреНрд░реА = рдПрди рдПрдордПрд╕ |
рдПрдо рд╡реЗрдВ рдкрд░рд╕реЗрдВрдЯрд╛рдЗрд▓рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ
рдЯрд╛рдЗрдо рдЖрдЙрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ ред рдЖрдк рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реНрддрд░ рдкрд░ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдХреИрд╕рдВрдбреНрд░рд╛ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдЯреНрдЯрд╛_рд░реЗрдЯреНрд░реА рдпрд╛ рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд╕рд░ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ рдкреНрд░рдпрд╛рд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреИрд╕рдВрдбреНрд░рд╛ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореВрд▓реНрдп рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕рд╣рдЬ рд▓реЛрдб рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдкрд░ рд░рд╣рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдирд╣реАрдВред рдЖрдк рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдз рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХрд╣реАрдВ рдЬрд▓реНрджреА рдореЗрдВ рдереЗ рдФрд░ рджреВрд╕рд░рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдиреЗ рдлрд┐рд░ рднреА рдЙрддреНрддрд░ рджрд┐рдпрд╛, рддреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд▓реЛрдб рдорд┐рд▓рд╛ред рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реНрдерд┐рд░рддрд╛ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реВ рд╣реИред рд╣рдо рдЕрдиреБрд░реЛрдз рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдкреВрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдордп 100 рдПрдордПрд╕ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ 1 рдПрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдРрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ: рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рд╢реЗрд╖ рд╕рдордп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рдЙрддреНрддрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдЪрд╛рдирдХ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╣реА рджреВрдд рдореЗрдВ рдХреИрд╕реЗ рдХрд░реЗрдВред
рд░рд┐рдЯреНрд░реАрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдФрд░ рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ?
рдиреЛ рд░рд┐рдЯрд░реНрди рдХрд╛ рдмрд┐рдВрджреБ (V1)
рдпрд╣рд╛рдБ V1 рд╕рдВрд╕реНрдХрд░рдг 1 рдирд╣реАрдВ рд╣реИред рд╡рд┐рдорд╛рдирди рдореЗрдВ рдРрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ - рдЧрддрд┐ V1ред рдпрд╣ рдЧрддрд┐ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд░рдирд╡реЗ рдкрд░ рддреНрд╡рд░рдг рдХреЛ рдзреАрдорд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЗрд╕реЗ рдЙрддрд╛рд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдВред
рдиреЛ рд░рд┐рдЯрд░реНрди рдХрд╛ рдПрдХ рд╣реА рдмрд┐рдВрджреБ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдореЗрдВ рд╣реИ:
рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ 1 рдмрд╛рдЗрдЯ рдкрд╛рд╕ рдХрд┐рдпрд╛, рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рддрдп рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ ред рдпрджрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдмреИрдХрдПрдВрдб рдорд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рд░рд┐рдЯреНрд░реАрдЯ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╕реБрдВрджрд░ рд╢рдЯрдбрд╛рдЙрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдмрддрд╛рдПрдВ: "рдЖрдк рдЕрдм рдирдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдиреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ!" рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЗрд╕реЗ рдмреБрдЭрд╛ рджреЗрдВред
рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ рдЕрдЬрд╛рдХреНрд╕ рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдпрд╣ рдЕрдиреБрд░реЛрдз рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдиреЛ рд░рд┐рдЯрд░реНрди рдХрд╛ рдмрд┐рдВрджреБ [рджреВрдд]
рджреВрдд рдХреА рдРрд╕реА рдЕрдЬреАрдм рдЪрд╛рд▓ рдереАред Per_try_timeout рд╣реИ - рдпрд╣ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдпрд╛рд╕ рдХрд┐рддрдирд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рд╕рдордпрдмрд╛рд╣реНрдп рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдмреИрдХрдПрдВрдб рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдмрд╛рдзрд┐рдд рд╣реЛ рдЧрдпрд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред
рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдкрд╛рд╡реЗрд▓
рддреНрд░реБрдЦрд╛рдиреЛрд╡ (
tru_pablo ) рдиреЗ рдПрдХ
рдкреИрдЪ рдмрдирд╛рдпрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рд╕реНрдЯрд░
рдПрдирд╡реЙрдп рдореЗрдВ рд╣реИ рдФрд░ 1.7 рдореЗрдВ рд╣реЛрдЧрд╛ред рдЕрдм рдпрд╣ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐: рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рд╡реИрд╢реНрд╡рд┐рдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд░рд┐рдЯреНрд░реАрдЯ: рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд░рд┐рдЯреНрд░реАрдЯ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрдерд╛рдХрдерд┐рдд рд╣рддреНрдпрд╛рд░реЗ рдЕрдиреБрд░реЛрдз рд╣реИрдВ: рднрд╛рд░реА рдкреНрд░рд╢реНрди рдЬреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдмрд╣реБрдд рдкрд╣реБрдВрдЪ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ per_try_timeout рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рд░рд┐рдЯреНрд░реАрдЯ рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдкрдиреЗ рдЖрдзрд╛рд░ рдХреЛ рдорд╛рд░ рджреЗрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐
рдЕрдзрд┐рдХрд╛рдВрд╢ (99.9%) рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдХреЛрдИ рдЕрдиреБрд░реЛрдз рд░рджреНрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ ред
рдЕрдиреБрд░реЛрдз рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдЕрдирд╣реБрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрднреА рд╕рднреА рдХрд╛рдо рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧреЛрд▓рдВрдЧ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдПрдХ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рддрджрдиреБрд╕рд╛рд░, рд░рд┐рдЯреНрд░реАрдЬ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рд╕рднреА рдмреИрд▓реЗрдВрд╕рд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╣рдо рдЕрдм рд╕реЗ рд╣рд╛рдкреНрд░реЛрд╕реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ)ред
nginx:- рдкреНрд░реЙрдХреНрд╕реА_рдиреЗрдХреНрд╕реНрдЯ_рдЕрдкрд╕реНрдЯреНрд░реАрдо_рдЯрд╛рдЗрдо (рд╡реИрд╢реНрд╡рд┐рдХ)
- proxt_read_timeout ** per_try_timeout рдХреЗ рд░реВрдк рдореЗрдВ
- proxy_next_upstream_tries
рджреВрдд:- рдЯрд╛рдЗрдордЖрдЙрдЯ (рд╡реИрд╢реНрд╡рд┐рдХ)
- per_try_timeout
- num_retries
Nginx рдореЗрдВ, рд╣рдо рдпрд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╡рд┐рдВрдбреЛ X рднрд░ рдореЗрдВ рд░рд┐рдЯреНрд░реАрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 500 рдПрдордПрд╕, рд╣рдо рдлрд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд░рд┐рдЯреНрд░реАрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╛ рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ рдЬреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдирдореВрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИред
рдПрдирд╡реЙрдп рдореЗрдВ , рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдпрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ (рд╡реИрд╢реНрд╡рд┐рдХ) рд╣реИред
рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: рд▓рд╛рдЧреВ рдХрд░реЗрдВ [nginx]
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рд╣рдордиреЗ nginx 2 рдореЗрдВ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ - рддрджрдиреБрд╕рд╛рд░, HTTP 503 рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рджреЛрдмрд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░
рджреЛрдиреЛрдВ рдмреИрдХреЗрдВрдб рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВред
upstream backends { server 127.0.0.1:20001; server 127.0.0.1:20002; server 127.0.0.1:20003; } server { listen 127.0.0.1:30000; proxy_next_upstream error timeout http_503; proxy_next_upstream_tries 2; location / { proxy_pass http://backends; } }
рдиреАрдЪреЗ рд╣рдорд╛рд░реА рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рджрд┐рдП рдЧрдП рд╣реИрдВред рдКрдкрд░реА рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡реЗ рд╣реИрдВред

рдХреНрдпрд╛ рд╣реБрдЖ?- xy_next_upstream_tries = 2ред
- рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдЖрдк "рдореГрдд" рд╕рд░реНрд╡рд░ рдкрд░ рдкрд╣рд▓рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░рд╛ - рджреВрд╕рд░реЗ "рдореГрдд" рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ "рдЦрд░рд╛рдм" рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ HTTP-503 рдорд┐рд▓рддрд╛ рд╣реИред
- рд╡рд╣рд╛рдБ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ nginx "рдмреИрди" рдПрдХ рдЦрд░рд╛рдм рд╕рд░реНрд╡рд░ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ nginx рдореЗрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмреИрдХрдПрдВрдб рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЧрдИрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ fail_timeout рдЪрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ ред
рд▓реЗрдХрд┐рди рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?рд╣рдо рдпрд╛ рддреЛ рд░рд┐рдЯреНрд░реАрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдлрд┐рд░ "рд╣рддреНрдпрд╛рд░реЗ рдЕрдиреБрд░реЛрдзреЛрдВ" рдХреА рд╕рдорд╕реНрдпрд╛ рдкрд░ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ), рдпрд╛ рд╣рдо "рдореГрдд" рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
редрд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдБрдЪ
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ "рд▓рд╛рдЗрд╡" рд╕рд░реНрд╡рд░ рдЪреБрдирдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдХреЗрд╡рд▓ "рд▓рд╛рдЗрд╡" рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред рдмреИрд▓реЗрдВрд╕рд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ URL рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рдЙрд╕реЗ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ: "рдореИрдВ рдЬреАрд╡рд┐рдд рд╣реВрдВ рдФрд░ рддреИрдпрд╛рд░ рд╣реВрдВред"
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ: рдмреИрдХрдПрдВрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ
рдмреИрдХрдПрдВрдб рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЖрдк рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╕рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬрд┐рд╕ рдкрд░ рдмреИрдХрдПрдВрдб рдСрдкрд░реЗрд╢рди рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ: рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдкреВрд▓ рдореЗрдВ рдореБрдлреНрдд рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ, рдЖрджрд┐, рдЖрджрд┐ред
- рдЖрдк рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ URL рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрд░реНрдХ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмреИрд▓реЗрдВрд╕рд░ рдмрд╣реБрдд рдмреБрджреНрдзрд┐рдорд╛рди рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣реЛрд╕реНрдЯ рд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд▓реЗрддреЗ рд╣реИрдВ)ред рд╕рд░реНрд╡рд░ рдпрд╣ рдпрд╛рдж рд░рдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЖрдЦрд┐рд░реА рдорд┐рдирдЯ рдореЗрдВ рдореИрдВрдиреЗ рдЗрддрдиреА рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреАрдВ - рд╢рд╛рдпрдж рдореИрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛" рдЧрд▓рдд "рд╕рд░реНрд╡рд░ рд╣реВрдВ, рдФрд░ рдЕрдЧрд▓реЗ 2 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП" рдкрд╛рдВрдЪ рд╕реМ "рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рд╕реНрд╡рдпрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рджреВрдВрдЧрд╛! " рдпрд╣ рдХрднреА-рдХрднреА рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реЛрддрд╛ рд╣реИред
- рдЖрдорддреМрд░ рдкрд░, рдЪреЗрдХ рдЕрдВрддрд░рд╛рд▓ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрде рдЪреЗрдХ рд╣реИрдВрдбрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╣рд▓реНрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИ:
- рдЕрдиреБрд░реЛрдз;
- рдЙрд╕ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ;
- рдЕрдВрддрд░рд╛рд▓ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдо рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдЪрд╛рд▓рд┐рдд рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдШрдмрд░рд╛рд╣рдЯ рд╣реЛрддреА рд╣реИ , рдпрд╛рдиреА рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рддрд╛рдХрд┐ рд╕рднреА рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдмреИрдХреЗрдВрдб рдкрд░ рди рдЖрдПрдВ, рдФрд░ рдЗрд╕реЗ рди рдорд╛рд░реЗрдВред
- рдЕрд╕реНрд╡рд╛рд╕реНрдереНрдпрдХрд░ рджрд╣рд▓реАрдЬ - рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрд╡рд╕реНрде рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рд╡рд┐рдлрд▓ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪреЛрдВ рдХреА рд╕реАрдорд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
- рд╕реНрд╡рд╕реНрде рдереНрд░реЗрд╢реЛрд▓реНрдб - рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд░реНрд╡рд░ рдкрд░ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
- рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХред рдЖрдк рдЪреЗрдХ рд╕реНрдЯреЗрдЯрд╕ + рдмреЙрдбреА, рдЖрджрд┐ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Nginx рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЗрд╡рд▓ nginx + рдХреЗ рд╕рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред
рдореИрдВ рдПрдирд╡реЙрдп рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ, рдЗрд╕рдореЗрдВ рд╣реЗрд▓реНрде рдЪреЗрдХ
рдкреИрдирд┐рдХ рдореЛрдб рд╣реИред рдЬрдм рд╣рдордиреЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛, "рдЕрд╕реНрд╡рд╛рд╕реНрдереНрдпрдХрд░" рдХреЗ рд░реВрдк рдореЗрдВ, рдПрди% рд╕реЗ рдЕрдзрд┐рдХ рдореЗрдЬрдмрд╛рди (70% рдХрд╣рддреЗ рд╣реИрдВ), рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдЭреВрда рд╣реИрдВ, рдФрд░ рд╕рднреА рдореЗрдЬрдмрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреАрд╡рд┐рдд рд╣реИрдВред рдПрдХ рдмрд╣реБрдд рдмреБрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рджреМрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ рдЦреБрдж рдЕрдкрдиреЗ рдкреИрд░ рдХреЛ рдЧреЛрд▓реА рдорд╛рд░реА рдереА рдФрд░ рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдпрд╛ рдерд╛ред рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред
рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛
рдЖрдорддреМрд░ рдкрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП:
- рдпрд╛ рдирдЧрдиреЗрдХреНрд╕ +;
- рдпрд╛ рдирдЧрдиреЗрдХреНрд╕ + рдХреБрдЫ рдФрд░ :)
рд╣рдорд╛рд░реЗ рджреЗрд╢ рдореЗрдВ, nginx + HAProxy рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ nginx рдХреЗ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ 1.11.5 рддрдХ рдмреИрдХрдПрдВрдб рдкрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рдереАред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЦрд░рд╛рдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ HAProxy рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рдЯрд╛рдпрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд░ HAProxy nginx рдФрд░ nginx рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред рдЖрдк рдПрдХ рдФрд░ HAProxy рдФрд░ рдПрдХ рд╣реА рдмреИрдХрдПрдВрдб рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХреЗрдВрдб рдкреВрд▓ рд╕рдорд╛рди рд╣реИрдВред рддреЛ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реНрддрд░ рдХрд╛ рдЕрдореВрд░реНрдд рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рд╕рдВрддреБрд▓рди рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╕реЗрд╡рд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ nginx + Envoy рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЦреБрдж рдХреЛ рдХреЗрд╡рд▓ Envoy рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рджреВрдд?
Envoy рдПрдХ рдЯреНрд░реЗрдВрдбреА рдпреВрде рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реИ, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ Lyft рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╡рд╣ рдЖрдЬ рд╣рдорд╛рд░реЗ рд╡рд┐рд╖рдп рдкрд░ рдмрдиреНрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдЗрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдерд╛ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рджреВрдд рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕реАрдзреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рднреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ (рд╕реЗрд╡рд╛ рдХреА рдЦреЛрдЬ, рдЖрджрд┐) рдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рдмрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдмрддрд╛рдКрдВрдЧрд╛ред
рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рд╕рдлрд▓ рд░рд┐рдЯреНрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдереЛрдбрд╝рд╛ рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреИрдХрдПрдВрдб рдХреЗ рдЙрдирдХреЗ рд╣реЛрд╢ рдореЗрдВ рдЖрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рд╣рдо рдЫреЛрдЯреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд▓реЗрдВрдЧреЗред рдПрдирд╡реЙрдп рдХреЗ рдкрд╛рд╕
рд░рд┐рдЯреНрд░реАрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ
рдмреИрдХрдСрдл рд╣реИ - рд░рд┐рдЯреНрд░реАрдЯ рдХреЗ рдмреАрдЪ рдард╣рд░рд╛рд╡ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмреАрдЪ рджреЗрд░реА рдЕрдВрддрд░рд╛рд▓ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред рдкрд╣рд▓реА рд╡рд╛рдкрд╕реА 0-24 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рд╣реЛрддреА рд╣реИ, рджреВрд╕рд░реА 0-74 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж, рдФрд░ рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░рд╛рд▓ рдмрдврд╝рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреЗрд░реА рдХреЛ рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг Envoy- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреИрдЯрд░реНрди рдЬрд┐рд╕реЗ
рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ (lit. рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдпрд╛ рдлреНрдпреВрдЬ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рд╣рдорд╛рд░рд╛ рдмреИрдХреЗрдВрдб рд╕реБрд╕реНрдд рд╣реЛрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдЕрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рдЬрд╝рд╛-рддрд╛рдЬрд╝рд╛ рдкреГрд╖реНрда рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдирдП рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдШрдмрд░рд╛ рдЬрд╛рддреЗ рд╣реИрдВ, рд░рд┐рдЯреНрд░реАрдЯ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ - рд▓реЛрдб рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд╣реАрдВ рднреЗрдЬрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ, рдЬрд▓реНрджреА рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рд╢реВрдЯ рдХрд░реЗрдВ рдФрд░ рдмреИрдХрдПрдВрдбреНрд╕ рдХреЛ "рдЙрдирдХреА рд╕рд╛рдВрд╕ рдкрдХрдбрд╝реЗрдВ"ред
рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ (рд╣рд┐рд╕реНрдЯрд┐рдХреНрд╕ рд▓рд╛рдЗрдХ рд▓рд┐рдмрд╛рд╕), рдореВрд▓ eBay рдХреЗ рдмреНрд▓реЙрдЧ рдкрд░редрдКрдкрд░ рд╣рд┐рд╕реНрдЯреНрд░рд┐рдХреНрд╕ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рд╕рд░реНрдХрд┐рдЯ рд╣реИред рд╣рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдиреЗрдЯрдлреНрд▓рд┐рдХреНрд╕ рдХреА рдЬрд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░реЗрдВрд╕ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- "рдлреНрдпреВрдЬ" "рдмрдВрдж" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╕рднреА рдЕрдиреБрд░реЛрдз рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
- рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рдлрд▓ рд╕реАрдорд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд, рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реБрдИ рд╣реИрдВ, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ "рдУрдкрди" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрд░реЛрдз рдмреИрдХрдПрдВрдб рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред
- рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдЕрд╡рдзрд┐ рдореЗрдВ, рдЕрднреА рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕реНрдерд┐рддрд┐ "рдУрдкрди" рд░рд╣рддреА рд╣реИред рдпрджрд┐ рд╕рдмрдХреБрдЫ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ, рддреЛ "рдлреНрдпреВрдЬ" рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИред
рдПрдиреНрд╡реЙрдп рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐, рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрдереНрдп рдкрд░ рдКрдкрд░реА-рд╕реНрддрд░реАрдп рд╕реАрдорд╛рдПрдВ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрди рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдзрд┐рдХ, рдпрд╣рд╛рдБ рдХреБрдЫ рдЧрд▓рдд рд╣реИ - рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рдХреЛрдИ рдФрд░ рдПрди рд╕рдХреНрд░рд┐рдп рд░рд┐рдЯреНрд░реАрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛рдиреА рд░рд┐рдЯреНрд░реАрдЬ рдЬреЛ рдЕрднреА рд╣реЛ рд░рд╣реА рд╣реИрдВ)ред
рдЖрдкрдХреЗ рдкрд╛рд╕ рд░рд┐рдЯреНрд░реАрдЯ рдирд╣реАрдВ рдереЗ, рдХреБрдЫ рд╡рд┐рд╕реНрдлреЛрдЯ рд╣реЛ рдЧрдпрд╛ - рд░рд┐рдЯреНрд░реАрдЯ рднреЗрдЬреЗрдВред рджреВрдд рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдПрди рд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдФрд░ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╢реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ [рджреВрдд]- рдХреНрд▓рд╕реНрдЯрд░ (рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдореВрд╣) рдЕрдзрд┐рдХрддрдо рдХрдиреЗрдХреНрд╢рди
- рдХреНрд▓рд╕реНрдЯрд░ рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд┐рдд рдЕрдиреБрд░реЛрдз
- рдХреНрд▓рд╕реНрдЯрд░ рдЕрдзрд┐рдХрддрдо рдЕрдиреБрд░реЛрдз
- рдХреНрд▓рд╕реНрдЯрд░ рдЕрдзрд┐рдХрддрдо рд╕рдХреНрд░рд┐рдп рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕
рдпрд╣ рд╕рд░рд▓ рдмрд╛рдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ, рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖрдирд╛ рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реИрдВред
рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░: рд╣рдорд╛рд░рд╛ рдЕрдиреБрднрд╡
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ HTTP рдореАрдЯреНрд░рд┐рдХ рдХрд▓реЗрдХреНрдЯрд░ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛, рдЕрд░реНрдерд╛рдд, рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдЬреЗрдВрдЯреНрд╕ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рднреЗрдЬрддреЗ рдереЗред рдпрджрд┐ рд╣рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ рдЕрдкрдиреА рдбрд┐рд╕реНрдХ рдкрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдПрдЬреЗрдВрдЯ рд▓рдЧрд╛рддрд╛рд░ рд╣рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреЗред
( , ) , , .
nginx limit req. , , , 200 RPS. , , , limit req.
TCP HTTP ( nginx limit req). . limit req .
, , .
Circuit breaker, , N , , - , , . , , spool .
Circuit breaker + request cancellation ( ). , N Cassandra, N Elastic, , тАФ , . тАФ , .


, (: тАФ ┬л┬╗, тАФ ┬л┬╗). , 800 RPS 20-30. ┬л┬╗, , .
тАФ , .
, , тАФ . .
, , , , Health checks тАФ HTTP 200.
.

Load Balancer, 3 , Cassandra. Cassandra, Cassandra , Cassandra data noda.
тАФ :
kernel: NETDEV WATCHDOG: eth0 (ixgbe): transmit queue 3 timed out.: ( ), 64 . , 1/64 . reboot, .
, , , . , , , . , , . , .
Cassandra: coordinator -> nodesCassandra, (speculative retries), . latency 99 , .
App -> cassandra coordinator. Cassandra ┬л┬╗ , , , latency ..
gocql тАФ cassandra client. . HostSelectionPolicy,
bitly/go-hostpool . Epsilon greedy , .
,
Epsilon-greedy .
(multi-armed bandit): , , N .
:
- ┬л explore┬╗ тАФ : 10 , , .
- ┬л exploit┬╗ тАФ .
, (10 тАФ 30%)
round -
robin , , , . 70 тАФ 90% .
Host-pool . . ( тАФ , , ). . , , , .
┬л┬╗ () тАФCassandra Cassandra coordinator-data. (nginx, Envoy тАФ ) ┬л┬╗ Application, Cassandra , , .
Envoy
Outlier detection :
- Consecutive http-5xx.
- Consecutive gateway errors (502,503,504).
- Success rate.
┬л┬╗ , - , . , . тАФ , , . , , .
, ┬л┬╗, max_ejection_percent. , outlier, . , 70% тАФ , тАФ , !
, тАФ !
, , . , latency , :
,
, . , , , тАФ , .
. 99% nginx/
HAProxy /Envoy. proxy , ┬л┬╗.
proxy ( HAProxy:)),
, .DevOpsConf Russia Kubernetes . .
, тАФ DevOps.
, , YouTube- тАФ .