рдЯрд╛рд░реЗрдВрдЯреВрд▓ рдХрд╛рд░реНрдЯреНрд░рд┐рдЬ: рддреАрди рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╢реЗрдпрд░рд┐рдВрдЧ рд▓реБрдЖ рдмреИрдХреЗрдВрдб


Mail.ru Group рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯрд╛рд░реЗрдВрдЯреВрд▓, рдПрдХ рд▓реБрдЖ-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХрдЬреБрдЯ рд╣реИред рдпрд╣ рддреЗрдЬрд╝ рдФрд░ рдЙрддреНрддрдо рджрд░реНрдЬреЗ рдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╣рдореЗрд╢рд╛ рд╕реАрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рднреА рд░рд╛рдордмрд╛рдг рдирд╣реАрдВ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЯрд╛рд░реЗрдВрдЯреВрд▓ рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рдпрд╛ рдмрдирд╛рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдХрд░рдг рд╣реИрдВ [1] ред рдпрд╣ рдЖрдкрдХреЛ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдлреИрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдкрд░ рдмреЛрд▓реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЕрдЪреНрдЫреА рдЦрдмрд░: рд╣рдореЗрдВ рдзрдХреНрдХреЛрдВ рдХрд╛ рдЕрдкрдирд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [2] , [3] ) рдФрд░ рдПрдХ рдФрд░ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдпрд╛, рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред

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

рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯрд╛рд░рдирдЯреВрд▓ рдФрд░ рд╡рд░реНрд╢рд╛рд░реНрдб рд╣реИ - рд╣рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

рдкрд╣рд▓рд╛, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИред Vshard Lua рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЯрд╛рд░реЗрдВрдЯреВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЛрдИ рднреА рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, Ansible рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

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

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

рдЯрд╛рд░рдирдЯреВрд▓ рдХрд╛рд░рддреВрд╕ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди;
  • рдирдИ рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛;
  • рд╡рд┐рдХрд╛рд╕ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдЯреЗрдореНрдкрд▓реЗрдЯ;
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╢рд╛рд░реНрдХрд┐рдВрдЧ;
  • Luatest рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг;
  • WebUI рдФрд░ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рдмрдВрдзрди;
  • рдкреИрдХреЗрдЬрд┐рдВрдЧ рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдгред

рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡!


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

$ tarantoolctl rocks install cartridge-cli $ export PATH=$PWD/.rocks/bin/:$PATH 

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

 $ cartridge create --name myapp 

рдФрд░ рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

 myapp/ тФЬтФАтФА .git/ тФЬтФАтФА .gitignore тФЬтФАтФА app/roles/custom.lua тФЬтФАтФА deps.sh тФЬтФАтФА init.lua тФЬтФАтФА myapp-scm-1.rockspec тФЬтФАтФА test тФВ тФЬтФАтФА helper тФВ тФВ тФЬтФАтФА integration.lua тФВ тФВ тФФтФАтФА unit.lua тФВ тФЬтФАтФА helper.lua тФВ тФЬтФАтФА integration/api_test.lua тФВ тФФтФАтФА unit/sample_test.lua тФФтФАтФА tmp/ 

рдпрд╣ рдПрдХ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ "рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!" рдЖрд╡реЗрджрдиред рдЖрдЗрдП рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд╣рд┐рдд):

 $ tarantoolctl rocks make $ ./init.lua --http-port 8080 

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

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рдирд╛


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


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


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


Vshard- рд░рд╛рдЙрдЯрд░ рдФрд░ рдЧреЗрдЯрд╡реЗ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд░рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИред рд╣рдо рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреНрдпреЛрдВ рдЬрд╛рдПрдВрдЧреЗ, рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рдЙрдЯрд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ? рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рднреАрддрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд, рдЧреЗрдЯрд╡реЗ рдФрд░ vshard.router.cfg рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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


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


рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдмрдВрдзрди


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


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

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


рднреВрдорд┐рдХрд╛ рдЬреАрд╡рдирдЪрдХреНрд░


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

 function init() function validate_config() function apply_config() function stop() 

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

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

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

рдХрдЪрд░рд╛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓реНрд╕ stop рдореЗрдердб рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЙрди рддрдВрддреБрдУрдВ рдХреЛ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ init рдиреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред

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

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


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


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

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

рдбреЙрдХрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рднреВрдорд┐рдХрд╛ рдХреА "рдЫрд╡рд┐" рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реА рднреВрдорд┐рдХрд╛рдПрдВ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рддрд░рд╣ рдЕрд▓рдЧ-рдерд▓рдЧ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдкрд░ рджреЛ рд╕рдорд╛рди рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛ рд╕рдХрддреЗред рднреВрдорд┐рдХрд╛ рдпрд╛ рддреЛ рд╡рд╣рд╛рдБ рд╣реИ рдпрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИ; рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рд╣реИред рдФрд░ рддреАрд╕рд░реЗ, рдкреВрд░реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рднреВрдорд┐рдХрд╛рдПрдВ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐, рдЕрдиреНрдпрдерд╛, рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд▓рдЧреЗрдЧрд╛: рдбреЗрдЯрд╛ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ рд╣реИред

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдг


рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдХрд┐ рдХрд╛рд░реНрдЯреНрд░рд┐рдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреНрд░реЗрдорд╡рд░реНрдХ RPM рд╕рдВрдХреБрд▓ рдмрдирд╛рддрд╛ рд╣реИ:

 $ cartridge pack rpm myapp # will create ./myapp-0.1.0-1.rpm $ sudo yum install ./myapp-0.1.0-1.rpm 

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

 $ sudo tee /etc/tarantool/conf.d/demo.yml <<CONFIG myapp.router: {"advertise_uri": "localhost:3301", "http_port": 8080} myapp.storage_A: {"advertise_uri": "localhost:3302", "http_enabled": False} myapp.storage_B: {"advertise_uri": "localhost:3303", "http_enabled": False} CONFIG 

рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓реВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреЗрд╡рд▓ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреЛрд░реНрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╣реЛрд╕реНрдЯрдирд╛рдо рд╕рд╣рд┐рдд рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ рдХрд┐ 0.0.0.0 рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ advert_uri рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реЙрдХреЗрдЯ рдмрд╛рдЗрдВрдб рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдХрд╛рд░реНрдЯреНрд░рд┐рдЬ рдХреЗрд╡рд▓ рдЧрд▓рдд advert_uri рдкреНрд░рд╛рд░рдВрдн рдХреЗ рд╕рд╛рде рдиреЛрдб рдХреЛ рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрдЧрд╛ред

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

 $ sudo systemctl start myapp@router $ sudo systemctl start myapp@storage_A $ sudo systemctl start myapp@storage_B 

рд╣рдордиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╛рд░реНрдЯреНрд░рд┐рдЬ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП HTTP рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ: 8080ред рдЪрд▓реЛ рд╡рд╣рд╛рдБ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрддреЗ рд╣реИрдВ:


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

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


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


рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? Github рдкрд░ рдХреГрдкрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ, рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЫреЛрдбрд╝реЗрдВ рдФрд░ рдЯрд┐рдХрдЯ рдмрдирд╛рдПрдВред

рд╕рдВрджрд░реНрдн


[1] рдЯрд╛рд░реЗрдВрдЯреВрд▓ ┬╗реи.реи┬╗ рд╕рдВрджрд░реНрдн ┬╗рд░реЙрдХреНрд╕ рд╕рдВрджрд░реНрдн┬╗ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдо
[реи] рд╣рдордиреЗ рдЯрд╛рд░реЗрдВрдЯреВрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓реНрдлрд╝рд╛-рдмреИрдВрдХ рдХреЗ рдирд┐рд╡реЗрд╢ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рдореВрд▓ рдХреЛ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛
[рей] рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рдмрд┐рд▓рд┐рдВрдЧ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░: рдЯреНрд░реЗрдВрдЯреБрд▓рд┐рдВрдЧ рдореЗрдВ рд╕рдВрдХреНрд░рдордг
[рек] SWIM - рдХреНрд▓рд╕реНрдЯрд░ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓
[рел] рдЧрд┐рдЯрд╣рдм - рдЯрд╛рд░реЗрдВрдЯреВрд▓ / рдХрд╛рд░реНрдЯреНрд░рд┐рдЬ-рдХреНрд▓рд╛рдИ
[рем] рдЧрд┐рдЯрд╣рдм - рдЯрд╛рд░рдирдЯреВрд▓ / рдХрд╛рд░рддреВрд╕

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


All Articles