6 рдкрд╛рда gitlab.com рдореЗрдВ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдЦреЛрдЬрдиреЗ рд╕реЗ рд╕реАрдЦреЗред рднрд╛рдЧ реи

рд╣рдо рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд╕рдордп рдХреЗ рдЕрддреНрдпрд╛рдЪрд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл gitlab.com рдЯреАрдо рдХреЗ рд╕рдВрдШрд░реНрд╖ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред



тЖТ рдпрд╣рд╛рдБ, рд╡реИрд╕реЗ, рдкрд╣рд▓рд╛ рднрд╛рдЧ рд╣реИ ред

рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реНрдкреАрдб рд▓рд┐рдорд┐рдЯ


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

рдЦреЛрдЬреЛрдВ рдиреЗ рдореБрдЭреЗ HAProxy рд╕реНрддрд░ рдкрд░ рд▓рд╛рдпрд╛, рдЬреЛ SSH рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рд╕реНрдерд┐рдд рдерд╛ред HAProxy рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ rate-limit sessions рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдирдП рдЯреАрд╕реАрдкреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕реАрдХреНрд╡реЗрдВрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рдХ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдкрд░ рдЫреЛрдбрд╝рддреЗ рд╣реБрдП рдмреИрдХрдПрдВрдб рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЧрддрд┐ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдмрджрд▓ рдЬрд╛рддреА рд╣реИ), рддреЛ рдирдП рдХрдиреЗрдХреНрд╢рди рдмрд╕ рд╡рд┐рд▓рдВрдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЯреАрд╕реАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрд╕рдПрд╕рдПрдЪ) рдмрд╕ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЗрд░реА рджреЗрдЦрддрд╛ рд╣реИред рдпрд╣, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрдВрджрд░ рдХрджрдо рд╣реИред рдЬрд┐рд╕ рдЧрддрд┐ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕ рд╕рдордп рддрдХ, рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдХреЗ рд▓рд┐рдП, рд╕реАрдорд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЕрдЧрд▓рд╛ рдкреНрд░рд╢реНрди rate-limit sessions рд╡рд┐рдХрд▓реНрдк рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЪрдпрди рдерд╛, рдЬрд┐рд╕рдХрд╛ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЦреЛрдЬрдирд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рдерд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 27 SSH рдмреИрдХрдПрдВрдб рдФрд░ 18 HAProxy рдлреНрд░рдВрдЯреЗрдВрдбреНрд╕ (16 рдореБрдЦреНрдп рдФрд░ 2 рдСрд▓-рдПрд╕рд╢) рд╣реИрдВ, рд╕рд╛рде рд╣реА рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдлреНрд░рдВрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдЧрддрд┐ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдирдП SSH рд╕рддреНрд░ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрджрдо рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ MaxStartups рдХрд╛ рдкрд╣рд▓рд╛ рдореВрд▓реНрдп 150 рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд░рдг рдореЗрдВ рджреЛ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдмреИрдХреЗрдВрдб рдХреЗ рдкреНрд░рддреНрдпреЗрдХ 75 рдирдП рд╕рддреНрд░ рдХреЛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдЖрдк rate-limit sessions рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдпрд╣рд╛рдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рддреАрд╕рд░рд╛ MaxStartups рдХрд╛ рдорд╛рди рд╣реИред рдЪреМрдерд╛ T - SSH рд╕рддреНрд░ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред T рдорд╛рди рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреЗрд╡рд▓ рд▓рдЧрднрдЧ рдШрдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рд╕рд┐рд░реНрдл 2 рд╕реЗрдХрдВрдб рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдлреНрд░рдВрдЯ-рдПрдВрдб рдХреЗ рд▓рд┐рдП rate-limit рдорд╛рди рдорд┐рд▓рд╛, рдЬреЛ 112.5 рдерд╛ред рд╣рдордиреЗ рдЗрд╕реЗ 110 рдкрд░ рдЧреЛрд▓ рдХрд┐рдпрд╛ред

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

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рд▓реЙрдЧ рдореЗрдВ рд╡рд╛рдкрд╕ рдЪрд▓реЗ рдЧрдП (рдФрд░, рдЕрдВрдд рдореЗрдВ, HAProxy рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП) рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдХрд┐ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЧрддрд┐ рд╕реАрдорд╛ рдХрдо рд╕реЗ рдХрдо рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдХреЗрддрдХ рдЕрдзрд┐рдХ рдереЗ, рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА рдХрд┐ рд╣рдо рдЙрд╕ рдЧрддрд┐ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдЬрд┐рд╕ рджрд░ рдкрд░ рдЕрдиреБрд░реЛрдз рдЖрдП рдереЗ рд╡рд╣ рдЕрднреА рднреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдпрд╣ рдЙрди рд╕реНрддрд░реЛрдВ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛ рдЬрдм рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓ рд╕рдХрддрд╛ рдерд╛ред рдЬрдм рд╣рдордиреЗ рдмреИрдХрдПрдВрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ (HAProxy рд▓реЙрдЧреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░), рддреЛ рд╣рдордиреЗ рд╡рд╣рд╛рдВ рдПрдХ рдЕрдЬреАрдмрддрд╛ рджреЗрдЦреАред рдШрдВрдЯреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдмреИрдХрдПрдВрдб рдХрдиреЗрдХреНрд╢рди рдЕрд╕рдорд╛рди рд░реВрдк рд╕реЗ SSH рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЪреБрдиреЗ рдЧрдП рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ 30 рд╕реЗ 121 рддрдХ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдордиреЗ balance source рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓рд╛ рдЧреНрд░рд╛рд╣рдХ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдмреИрдХрдПрдВрдб рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛред рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдШрдЯрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рддреНрд░ рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреЛрдЧреНрдп рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдирддреАрдЬрддрди, рд╣рдордиреЗ рдХрдо рд╕реЗ рдХрдо рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдирдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рди рд╡рд░реНрддрдорд╛рди рдХрдиреЗрдХреНрд╢рди рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдмреИрдХрдПрдВрдб рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ SSH (Git) рд╕рд░реНрд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдЗрд╕реА рдЕрдиреБрд╕реВрдЪреА рд╣реИред


рд╕рдмрд╕реЗ рдХрдо рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЬреЛ рджреЛ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рд╡реЗ рд╣рдорд╛рд░реЗ рдХреИрдирд░реА рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рд▓реЛрдб рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЛ 2: 1 (30% рд╕реЗ 60% рддрдХ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣рд╕рдВрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдмреИрдХреЗрдВрдб рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдереЗред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛ред рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ IP рдкрддреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдзрд┐рдХ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдереАред рд▓реЗрдХрд┐рди, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рд░реНрд╡рд░ рд▓реЛрдб рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдмрдбрд╝реЗ рдЧреНрд░рд╛рд╣рдХ рдкрд░реНрдпрд╛рдкреНрдд рдереЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреБрдЫ рдФрд╕рдд рд╡рд┐рдХрд▓реНрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред

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

рдпрд╣ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ GitLab рдХреЗ рдореБрдЦреНрдп рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ ред

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

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

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

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд▓реАрд╡рд░ рдХреА рддрд░рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рд╣рдо рдХрдИ рд╣рдЬрд╛рд░ рдпрд╛ рдХрдИ рджрд╕рд┐рдпреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рдЗрд╕рд╕реЗ рджреВрд░ рд╣реИрдВред

рдпрд╣ T рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдореЗрд░реЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ, рдПрд╕рдПрд╕рдПрдЪ рд╕рддреНрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЧрддрд┐ рд╕реАрдорд╛ рд╕рдВрдХреЗрддрдХ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЬрд╛рдирдХрд░ рдХрд┐ MaxStartups рд╕рдВрдХреЗрддрдХ рдХреЗ рд▓рд┐рдП 200 рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ 250 рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ T рдХрд╛ рдореВрд▓реНрдп рд╕рдВрднрд╡рддрдГ 2.7 рд╕реЗ 3.4 рд╕реЗрдХрдВрдб рддрдХ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, 2 рд╕реЗрдХрдВрдб рдХрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдп рд╕рдЪреНрдЪрд╛рдИ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдерд╛ред рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред

рдЕрдВрддрд┐рдо рдЪрд░рдг


рд╣рдордиреЗ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛, рдЬреЛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рдереЗ, рдФрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдпрд╣ рд╢реБрд░реВ рд╣реБрдЖ рдерд╛, рдЙрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдХреЗрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ SD рдмрд░рд╛рдмрд░ рдПрдХ t_state рдорд╛рди рд╣реИред рджреВрд╕рд░реЗ, рдпрд╣ b_read (рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реЗ рдЧрдП рдмрд╛рдЗрдЯреНрд╕) рдХрд╛ рдорд╛рди рд╣реИ, 0. рдХреЗ рдмрд░рд╛рдмрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдкреНрд░рддрд┐ рджрд┐рди рд▓рдЧрднрдЧ 26-28 рдорд┐рд▓рд┐рдпрди SSH рдХрдиреЗрдХреНрд╢рди рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдкреНрд░рд┐рдп рдерд╛ рдХрд┐, рдЖрдкрджрд╛ рдХреЗ рдмреАрдЪ, рдЗрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рд▓рдЧрднрдЧ 1.5% рд╕рдХрд▓ рд░реВрдк рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рдерд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреИрдорд╛рдирд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдерд╛ рдЬрд┐рддрдирд╛ рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдкрд╣рд▓реЗ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХреЗ (рддрдм рднреА рдЬрдм рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ t_state="SD" рдиреЗ рд▓реЙрдЧ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрднрд╡рддрдГ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╣рдордиреЗ рдЬрд┐рддрдирд╛ рд╕рдордп рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдкрд╛рда рд╕рдВрдЦреНрдпрд╛ ремред рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рд╕реНрддрд░реЛрдВ рдХреЛ рдорд╛рдкреЗрдВред

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

рдЕрдЧрд░ рд╣рдо MaxStartups рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЧрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕реНрддрд░ 0.001% рддрдХ рдЧрд┐рд░ рдЧрдпрд╛ред рд╡рд╣ рд╣реИ - рдПрдХ рджрд┐рди рдореЗрдВ рдХрдИ рд╣рдЬрд╛рд░ рддрдХред рдпрд╣ рд╕реНрдерд┐рддрд┐ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦ рд░рд╣реА рдереА, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕реНрддрд░ рдЕрднреА рднреА рд╣рдо рдЬрд┐рд╕ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдерд╛ред рд╣рдордиреЗ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдлрд┐рд░ рд╕реЗ рд╕рдмрд╕реЗ leastconn рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рдХрд░ рджрд┐рдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд░рд╛рд╣рдд рдХреА рд╕рд╛рдВрд╕ рд▓реЗ рдкрд╛рдПред

рднрд╡рд┐рд╖реНрдп рдХрд╛ рдХрд╛рдо


рдЬрд╛рд╣рд┐рд░ рд╣реИ, SSH рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд░рдг рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╢рд╛рдпрдж 3.4 рд╕реЗрдХрдВрдб рддрдХред GitLab рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ SSH рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AuthorizedKeysCommand рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рддреНрд╡рд░рд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЕрдиреНрдпрдерд╛, SSHD рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА authorized_keys рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдп рдареАрдХ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░реВрдмреА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЦреЛрдЬ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдмрд╛рд╣рд░реА HTTP API рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рдкрд░ рдЬреНрдЮрд╛рди рдХреЗ рдПрдХ рдЕрдЯреВрдЯ рд╕реНрд░реЛрдд рд╕реНрдЯреИрди рд╣реНрдпреВрдЧ рдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЬреАрдЖрдИрдЯреА / рдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдпреВрдирд┐рдХреЙрд░реНрди рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдирд┐рд░рдВрддрд░ рднрд╛рд░ рдХреЗ рдЕрдзреАрди рд╣реИрдВред рдпрд╣ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рддреАрди рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рд╣рдо рдЗрди рдиреЛрдбреНрд╕ рдкрд░ рдпреВрдирд┐рдХреЙрд░реНрди (рдпрд╛ рдкреНрдпреВрдорд╛) рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЬреЛрдЦрд┐рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм, рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЪреАрдЬреЗрдВ рдзреАрдореА рд╣реЛ рд░рд╣реА рд╣реИрдВред рд╣рдо MaxStartups рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬреАрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХрд┐рд╕реА рднреА рд╕рдордп рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо MaxStartups рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд┐рддрдиреЗ рдХрд░реАрдм рд╣реИрдВред рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рд╣рдореЗрд╢рд╛ рд╕рдХрддреЗ рдореЗрдВ рд░рд╣реЗрдВред рдпрд╣ рд╕реАрдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЯреВрдЯреЗ рд╣реБрдП рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕реАрдорд╛рдПрдВ рдкрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

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

рдкрд░рд┐рдгрд╛рдо


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

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

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

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ рдЬрд┐рдирдХреА рдХрд╣рд╛рдиреА рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ?

Source: https://habr.com/ru/post/hi466553/


All Articles