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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

рдпрд╣ рдЖрдзреБрдирд┐рдХ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рднрд┐рдиреНрди рд╣реИ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

рджреВрдд рдкреНрд░реЙрдХреНрд╕реА

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

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

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

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

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

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

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

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

рд╕реЗрд╡рд╛ рдкрддреЗ

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

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

рдПрдХ рдмрд╛рд░ рдЬрдм рдЗрд╕реНрддрд┐рдпреЛ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреЗрд╢ рдХрд░рдХреЗ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЙрдкрднреЛрдХреНрддрд╛ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реЗ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рди рд╣реЛ рдЬрд╛рдПред sidecar рдХрд╕реНрдЯрдо рдкреЙрдбреНрд╕ рдХреЗ рд▓рд┐рдП. рдпрд╣ рдХрдВрдЯреЗрдирд░ рдПрдХ Envoy рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реЛрдХрдиреЗ рдФрд░ рдЙрд╕ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ Envoy рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП iptables рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред

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

рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╛рдордЭрд╛рдо

рдЗрд╕реНрддрд┐рдпреЛ рдПрдордЯреАрдПрд▓рдПрд╕ (рдореНрдпреВрдЪреБрдЕрд▓ рдЯреАрдПрд▓рдПрд╕) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдШрдЯрдХ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдЧрдврд╝.

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

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

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

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

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

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

рдХреНрдпрд╛ рдЪреБрдиреЗрдВ: рдЗрд╕реНрддрд┐рдпреЛ, рд▓рд┐рдВрдХрд░рдб рдпрд╛ рдХреЙрдиреНрд╕рд▓ рдХрдиреЗрдХреНрдЯ?

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

рдХреНрдпрд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП?

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

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

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ