рдХрдВрдЯреЗрдирд░, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ, рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢реЗрд╕

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

рдореИрдВ рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬреЛ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рдерд╛ред рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдФрд░ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)ред

рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕


рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдкрд╕рдВрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХреАред рдпрджрд┐ рдЖрдк рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ: рдпрд╣ рдПрдХ рдкрд╛реЕрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдП-рдП-рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╡реНрдпрд╛рдкрдХ рд╕реНрддрд░ рдкрд░ рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛рдУрдВ (рдореЛрдВрдЧреЛрдбреАрдмреА) рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдЬрд╛рд╡рд╛, рдкреАрдПрдЪрдкреА, рдкрд╛рдпрдерди ...) рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред MySQL, Redis ...) рдФрд░ рд╣реЗрд░реЛрдХреВ рдЬреИрд╕реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ: рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

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

рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рд░реВрдЯрд┐рдВрдЧ


рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди HTTP рдФрд░ TCP рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

HTTP рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╣рд┐рдкреИрдЪ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдирдЧреНрд░реЗрдбреЗрд╢рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдЯреНрд░реИрдлрд┐рдХ рдЬреИрд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рдорд╛рди рд╣реИ ред

рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЛрдореЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ HTTP рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдмрд╢рд░реНрддреЗ рдХрд┐ рдбреЛрдореЗрди рдирд╛рдо рдбреЙрдЯрдХреНрд▓реЛрдб рд▓реЛрдб рдмреИрд▓реЗрдиреНрдХрд░реНрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВред

рдЯреАрд╕реАрдкреА рдПрдВрдбрдкреЙрдЗрдВрдЯ рдПрдХ рдкреЛрд░реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рддрдм рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдвреЗрд░ рдХреЗ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЧреНрд░рд╛рд╣рдХ рдЙрдЪрд┐рдд рд╣реЛрд╕реНрдЯрдирд╛рдо (рдЧреЗрдЯрд╡реЗ-X.dotcloud.com рдЬреИрд╕реЗ рдХреБрдЫ) рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреАрд╕реАрдкреА рдХреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рд╣реЛрд╕реНрдЯ рдирд╛рдо "nats" рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ ( NATS рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ) рд╣реИ, рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╕рд╣реА рдХрдВрдЯреЗрдирд░ (рдпрд╛ рд▓реЛрдб-рд╕рдВрддреБрд▓рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд╣реА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП) рддрдХ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЛ NodePort рд╕реЗрд╡рд╛рдУрдВ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рдПрдЧрд╛ред

рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ ClusterIP рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рдерд╛: рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рджреЛрдиреЛрдВ рд╕реЗ рд╕рдорд╛рди рдереАред

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

рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреА рд╡реНрдпрд╛рдкрдХ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, 12-рдХрд╛рд░рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реАрдзреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рд╕реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реИ?


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

рди рдХреЗрд╡рд▓ рдкрд░рд┐рдЪрд╛рд▓рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ (рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рд╡рд╛рд░рдг рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рджреГрд╢реНрдпрддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдмрд▓реНрдХрд┐ рдЬрдм рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬрд╛рд░реА рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдиреАрд▓реЗ-рд╣рд░реЗ рд░рдВрдЧ рдХреА рддреИрдирд╛рддреА рдФрд░ рдХреИрдирд░реА рдХреА рддреИрдирд╛рддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ред

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

рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдореЗрд╖ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрд░реЛрдд рдкрд░ рд░реВрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ ред рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╡рд╛рд╣ рд╕рдорд╛рди рд╣реИ: тЖТ тЖТ , рд▓реЗрдХрд┐рди рдЕрдм рдореЗрд╖ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рди рдХрд┐ рджреВрд░рд╕реНрде рдиреЛрдбреНрд╕ рдкрд░, рдЗрд╕рд▓рд┐рдП тЖТ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдиреАрдп рдФрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ (рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдмрдЬрд╛рдп рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб)ред

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

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

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рд░реВрдЯрд┐рдВрдЧ


рдареАрдХ рд╣реИ, рд╣рдордиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рд▓реЗрдХрд┐рди рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

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

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

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

рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд░рд▓ рдФрд░ рдХрдЪреНрдЪреЗ рддрд░реАрдХреЗ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЙрдирдХреЗ рдирд╛рдо рдФрд░ рдкрддреЗ YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдереЗ; рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЗрд╕ YAML рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд▓реЗрдиреА рдереАред

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

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

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

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

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕реНрдорд╛рд░реНрдЯрд╕реНрдЯреИрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реНрддрд┐рдпреЛ, рд▓рд┐рдВрдХрд░рдб рдФрд░ рдХреМрдВрд╕рд▓ рдХрдиреЗрдХреНрдЯ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдкреИрдЯрд░реНрди рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ:

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

рдПрдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдХрд╛ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдпрджрд┐ рд╣рдореЗрдВ рдЖрдЬ рдПрдХ рд╕рдорд╛рди рдЧреНрд░рд┐рдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 127.0.0.0/8 рдореЗрдВ рдкрддреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдирд╛рдореЛрдВ рдХреЛ рдореИрдк рдХрд░рдХреЗ рдЖрдВрддрд░рд┐рдХ DNS рдЬрд╝реЛрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдлрд┐рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ HAProxy рдЪрд▓рд╛рдПрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдкрддреЗ (рдЗрд╕ рд╕рдмрдиреЗрдЯ рдореЗрдВ 127.0.0.0/8 ) рдХреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдФрд░ рд▓реЛрдб рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдмреИрдХреЗрдВрдб рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд / рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред HAProxy рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ confd рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк Incd рдпрд╛ Consul рдореЗрдВ рдмреИрдХрдПрдВрдб рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ HAProxy рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдХреБрдЫ рдорддрднреЗрджреЛрдВ рдХреЗ рд╕рд╛рде:

  • HAProxy рдХреЗ рдмрдЬрд╛рдп Envoy рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  • рдХреЙрд░реНрдбрдиреЗрдЯ рдпрд╛ рдХреЙрдиреНрд╕реБрд▓ рдХреЗ рдмрдЬрд╛рдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред
  • рд╕реЗрд╡рд╛рдУрдВ рдХреЛ 127.0.0.0/8 рдХреЗ рдмрдЬрд╛рдп рдЖрдВрддрд░рд┐рдХ рд╕рдмрдиреЗрдЯ (Kubernetes ClusterIP рдкрддреЛрдВ) рдкрд░ рдкрддреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
  • рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ TLS рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдШрдЯрдХ (рдЧрдврд╝) рд╣реИред
  • рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреИрд╕реЗ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ, рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдЯреНрд░реЗрд╕рд┐рдВрдЧ, рдХреИрдирд░реАрдЬрд╝ рдХреА рддреИрдирд╛рддреА, рдЖрджрд┐ред

рдЖрдЗрдП рдХреБрдЫ рдЕрдВрддрд░реЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рджреВрдд рдЫрдВрдж


Enftoy Proxy рдЯреИрдХреНрд╕реА рдорд╛рд░реНрдХреЗрдЯ рдореЗрдВ Lyft [Uber рдкреНрд░рддрд┐рдпреЛрдЧреА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ - рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред]ред рдпрд╣ рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдЕрдиреНрдп рдкреНрд░реЙрдХреНрд╕рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HAProxy, Nginx, Traefik ...), рд▓реЗрдХрд┐рди Lyft рдиреЗ рдЦреБрдж рд▓рд┐рдЦрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рдЕрдиреНрдп рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдмрдирд╛рдирд╛ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд▓рдЧрд╛ред

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

рд▓реЗрдХрд┐рди рдПрдирд╡реЙрдп рдПрдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдХреЗ рд▓рд┐рдП, Envoy рдЕрдм рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди


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

рдорд╛рдорд▓реЗ рдХреЗ рдмреАрдЪ : рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╡рд┐рд╡рд░рдг рдЙрдкрдпреЛрдЧреА рд▓рдЧрд╛ , рдЬрд┐рд╕рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдПрдХ "рдбрдВрдм рд╕рд░реНрд╡рд░" рд╣реИ рдЬреЛ рдПрдкреАрдЖрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг, рд╕рдВрд╕реНрдХрд░рдг, рд╕рддреНрдпрд╛рдкрди, рдЕрджреНрдпрддрди, рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

рд╕реЗрд╡рд╛ рд╕рдВрдмреЛрдзрди


рдЗрд╕реНрддрд┐рдпреЛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдк рдХреЗ рдкрддреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реНрддрд┐рдпреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ (рд╕реАрдорд╛ 127.0.0.0/8 рдореЗрдВ рдирд╣реАрдВ)ред

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

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

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдбреАрдПрдирдПрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрдиреЗ рдкрд░, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдб рд╕реЗрд╡рд╛ рдХреЗ рдирд╛рдо рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ "рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред" рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ http://api/v1/users/4242 рдЬреИрд╕реЗ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рд╣реЛрддреЗ рд╣реИрдВ, рдлрд┐рд░ api 10.97.105.48 рдЕрдиреБрд░реЛрдз рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, iptables рдирд┐рдпрдо 10.97.105.48 рд╕реЗ рдЕрд╡рд░реЛрдзрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдиреАрдп рдПрдирд╡реЙрдп рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдерд╛рдиреАрдп рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреИрдХрдПрдВрдб рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзред рдУрд╣!

рдЕрддрд┐рд░рд┐рдХреНрдд рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ


Istio mTLS (рдореНрдпреВрдЪреБрдЕрд▓ рдЯреАрдПрд▓рдПрд╕) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП Citadel рдирд╛рдордХ рдШрдЯрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

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

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

рд╡рд┐рдХрд╕рд┐рдд рдпрд╛ рдЦрд░реАрджрдирд╛


рдЗрд╕реНрддрд┐рдпреЛ рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рд╣реЛрдиреЗ рдХреА рдкреНрд░рддрд┐рд╖реНрдард╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рд░реВрдЯрд┐рдВрдЧ рдЧреНрд░рд┐рдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИред рддреЛ, рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ?

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

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

рдХреНрдпрд╛ рдЪреБрдиреЗрдВ: Istio, Linkerd рдпрд╛ Consul рдХрдиреЗрдХреНрдЯ?


рдЕрдм рддрдХ рд╣рдордиреЗ рдХреЗрд╡рд▓ Istio рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕реЗрд╡рд╛ рдореЗрд╖ рдирд╣реАрдВ рд╣реИред рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк рд▓рд┐рдВрдХрд░рдб рд╣реИ , рдФрд░ рдХреЙрдиреНрд╕реБрд▓ рдХрдиреЗрдХреНрдЯ рднреА рд╣реИред

рдХреНрдпрд╛ рдЪреБрдирдирд╛ рд╣реИ?

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдореИрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдорд╛рдирддрд╛ред рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд╣реИрдВ ред

рдПрдХ рдЖрд╢рд╛рдЬрдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг SuperGloo рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ ред рдпрд╣ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдПрдкреАрдЖрдИ рдХреЛ рд╕рд░рд▓ рдФрд░ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдореВрд░реНрдд рдкрд░рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрдЯрд┐рд▓) рдПрдкреАрдЖрдИ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛ рдЬрд╛рд▓реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╕рд░рд▓ рд╕реБрдкрд░рдЧреНрд▓реЛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рд░реВрдк рд╣реИ рдЬреЛ HTTP рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ Nginx, HAProxy, Traefik, Apache рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмреИрдХрдПрдВрдб ...

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

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


All Articles