
рдкреНрд░рд┐рдп рд╕рдореБрджрд╛рдп, рдпрд╣ рд▓реЗрдЦ рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЦреЛрдВ рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдХреБрд╢рд▓ рднрдВрдбрд╛рд░рдг рдФрд░ рд╡рд┐рддрд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд╕реНрддрд░ рдкрд░, POSIX рд╕рдВрдЧрдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рддрд╛рд▓реЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рд▓реЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд┐рдирд╛ рднреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╡рд┐рд╢реЗрд╖ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрд╛ред
рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди, рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдФрд░ рд░реИрдо рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рде, рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдЦрд╛рдпрд╛ред рджрд░рдЕрд╕рд▓, рдРрд╕реА рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рдХрд┐рд╕реА рднреА рдХреНрд▓рд╕реНрдЯрд░реНрдб рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реЛрддреА рд╣реИрдВред
рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ:
рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рднреА рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд╕ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдХреАрдо: 1 рдлреЛрд▓реНрдбрд░ = 1 рдЖрд░реНрдХрд╛рдЗрд╡, рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдорд┐рд▓рд┐рдпрди рдЕрднрд┐рд▓реЗрдЦ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рди рдХрд┐ рдХрдИ рд╕реМ рдорд┐рд▓рд┐рдпрди рдлрд╛рдЗрд▓реЗрдВред рдФрд░ рдпрд╣ рд╕рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯрд╛рд░ / рдЬрд╝рд┐рдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рддрд╣ рдХрд┐рдП рдмрд┐рдирд╛ред
рдореИрдВ рдЗрд╕реЗ рдХрдорддрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдкрдж рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред
рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддрд╛ рдерд╛, рддрд╛рдХрд┐ рд╕рд╛рдзрд╛рд░рдг рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрдорд┐рдпрд╛рдВ рди рд╣реЛрдВред рдФрд░ рдЦреЛрдЬ рдХрд╛ рдХрд╛рд░рдг 10 рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдерд╛ рдЬреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реБрдЖ, рдЬрд┐рд╕рдореЗрдВ 250,000,000 рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЬрдорд╛ рд╣реЛ рдЧрдИ рдереАрдВ, рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдерд╛ред
рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рд▓реЗрдЦ рдкрдврд╝рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдкреНрд░рд▓реЗрдЦрди рдЖрд╕рд╛рди рд╣реИ:рдпрд╣рд╛рдБ рдФрд░
рдпрд╣рд╛рдБ ред
рдЕрджреНрдпрддрдиред рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рд╕реЗ рдирдЧрдиреЗрдХреНрд╕ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛редрдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ docker:
docker run -d --restart=always -e bindaddr=127.0.0.1:9699 \ -e host=localhost -e root=/var/storage -v /var/storage:/var/storage --name wzd \ -p 80:9699 eltaline/wzd
рдЕрдЧрд▓рд╛:
рдЕрджреНрдпрддрдиред рд╕рдВрд╕реНрдХрд░рдг 1.1.0 рдореЗрдВ, HTTPS / POST / IP рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИредрдпрджрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдХреНрд░рд╛рдордХ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдмрд░реНрдмрд╛рдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рдХреНрд▓рд╕реНрдЯрд░реНрдб рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, MooseFS) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдлрд╛рдЗрд▓, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рд╣рдореЗрд╢рд╛ рдХрдо рд╕реЗ рдХрдо 64 KB рд▓реЗрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, 3, 10 рдпрд╛ 30 KB рдЖрдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХ рдкрд░ 64 KB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдПрдХ рдЪреМрдерд╛рдИ рдмрд┐рд▓рд┐рдпрди рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╣рдо 2 рд╕реЗ 10 рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред MooseFS рдореЗрдВ рдПрдХ рд╕реАрдорд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдирдИ рдлрд╛рдЗрд▓ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЗрдирдлрд┐рдирд┐рдЯрдо рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛: рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдЗрд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде 1 рдмрд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВред
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рд╣реИ, рдЖрдкрдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд░реИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмрд╛рд░-рдмрд╛рд░ рдмрдбрд╝реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдбрдВрдк рднреА рдПрд╕рдПрд╕рдбреА рдХреЗ рдкрд╣рдирдиреЗ рдФрд░ рдЖрдВрд╕реВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
WZD рд╕рд░реНрд╡рд░ред рд╣рдордиреЗ рдбрд┐рд╕реНрдХ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрд╛редрд╕рд░реНрд╡рд░ рдЧреЛ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ? рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдХрд╛рд░рдг, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪреВрдВрдХрд┐ рдореЗрд░реА рдлрд╛рдЗрд▓реЗрдВ рдареЛрд╕, рдХреНрд▓рд┐рдкреНрдб рдЪрд┐рддреНрд░ рд╣реИрдВред рдмреЛрд▓реНрдЯреАрдбреАрдбреАрдмреА рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕реЗ рдЕрднреА рднреА рдЦрд╛рдорд┐рдпреЛрдВ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реЛрдирд╛ рдкрдбрд╝рд╛ рдерд╛, рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдПрдХ рдЕрд░рдм рдлрд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдЪреМрдерд╛рдИ рдХреЗ рдмрдЬрд╛рдп, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЗрд╡рд▓ 10 рдорд┐рд▓рд┐рдпрди рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рд╣реА рд░рд╣ рдЧрдПред рдпрджрд┐ рдореБрдЭреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛, рддреЛ рд▓рдЧрднрдЧ 1 рдорд┐рд▓рд┐рдпрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╕рднреА рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╕реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рд╕рднреА рдмрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░рд╣рддреА рд╣реИрдВ, рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реИред рдЫреЛрдЯреЗ - рд╕рдВрдЧреНрд░рд╣, рдмрдбрд╝реЗ - рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрдВред рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ wZD рд╕рд░реНрд╡рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред
рд╕рд░реНрд╡рд░ рд▓рд┐рдирдХреНрд╕, рдмреАрдПрд╕рдбреА, рд╕реЛрд▓рд╛рд░рд┐рд╕ рдФрд░ рдУрдПрд╕рдПрдХреНрд╕ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдХреЗрд╡рд▓ AMD64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ ARM64, PPC64, MIPS64 рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:- multithreading;
- рдорд▓реНрдЯреА-рд╕рд░реНрд╡рд░, рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдФрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛;
- рд╕рдорд░реНрдерд┐рдд HTTP рддрд░реАрдХреЗ: GET, HEAD, PUT рдФрд░ DELETE;
- рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЗрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди;
- рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди;
- рд▓рд┐рдЦрдиреЗ / рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реАрдЖрд░рд╕реА рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ;
- рдиреНрдпреВрдирддрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЗрд╖реНрдЯрддрдо рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрд░реНрдз-рдЧрддрд┐рд╢реАрд▓ рдмрдлрд╝рд░реНрд╕;
- рд╡рд┐рд▓рдВрдмрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрдШрдирди
- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб wZA рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рд╕реЗрд╡рд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡:рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдФрд░ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рд▓рд╛рдЗрд╡ рдбреЗрдЯрд╛ рдкрд░ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдЕрдм рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрд╕рдПрдЯреАрдП рдбрд┐рд╕реНрдХ рдкрд░ 15,000,000 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрдерд┐рдд 250,000,000 рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ (рдЪрд┐рддреНрд░) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред 10 рд╕рд░реНрд╡рд░ рдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ CDN рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреАрдЫреЗ рдПрдХ рдореВрд▓ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП, 2 рдирдЧрдиреЗрдХреНрд╕ рд╕рд░реНрд╡рд░ + 2 рдбрдмреНрд▓реНрдпреВрдЬреЗрдбрдбреА рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛред рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ 1 рдмреЛрд▓реНрдЯ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг:рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕ рдкрд░ GET рдФрд░ PUT рд╕рдВрдЪрд╛рд▓рди рдЙрддрдирд╛ рд╣реА рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХреБрд▓ рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рднреА рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдо рдХреА рддреБрд▓рдирд╛ 32 KB, 256 KB, 1024 KB, 4096 KB рдФрд░ 32768 KB рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИред
рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ (рд╕реАрдЖрд░рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдкрдврд╝рдиреЗ рдХреЛ рдордХреНрдЦреА рдкрд░ рдмреИрдардХрд░ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╣реИред
рдореИрдВрдиреЗ рдПрд╕рдПрд╕рдбреА рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдПрдЯреАрдП рдбрд┐рд╕реНрдХ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╕реНрдкрд╖реНрдЯ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
рдЕрдкрдбреЗрдЯ (v1.1.0), 5-25% рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рдиредрдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрд╛рд░реНрдЯ:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рди рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рдореЗрдВ рдЕрдВрддрд░ рдЫреЛрдЯрд╛ рд╣реИред
рд╣рдореЗрдВ 32 рдПрдордмреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд╕реНрд╡реАрд░ рдорд┐рд▓реЗрдЧреА:

рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп 5-25 ms рд╣реИред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдЪреАрдЬреЗрдВ рдмрджрддрд░ рд╣реИрдВ, рдЕрдВрддрд░ рд▓рдЧрднрдЧ 150 рдПрдордПрд╕ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдмрд╕ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд╡реЗ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рд╕реЗ рдЕрд▓рдЧ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред
* рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЗрд╕ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ NoSQL рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
WZD рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЗ:рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
curl -X PUT --data-binary @test.jpg http://localhost/test/test.jpg
рдмреЛрд▓реНрдЯ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ (рдпрджрд┐ рд╕рд░реНрд╡рд░ рдкреИрд░рд╛рдореАрдЯрд░ fmaxsize рдХреЛ рдкрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдЗрд╕реЗ рдкрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
curl -X PUT -H "Archive: 1" --data-binary @test.jpg http://localhost/test/test.jpg
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ (рдпрджрд┐ рдбрд┐рд╕реНрдХ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЕрдирдЬрд╝реИрдкреНрдб рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреА рдЬрд╛рддреА рд╣реИ):
curl -o test.jpg http://localhost/test/test.jpg
рдмреЛрд▓реНрдЯ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ (рдордЬрдмреВрд░):
curl -o test.jpg -H "FromArchive: 1" http://localhost/test/test.jpg
рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣реИред
WZD рдкреНрд░рд▓реЗрдЦрдиWZA рдкреНрд░рд▓реЗрдЦрдирд╕рд░реНрд╡рд░ рдЕрдм рддрдХ рдХреЗрд╡рд▓ HTTP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ HTTPS рдХреЗ рд╕рд╛рде рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред POST рд╡рд┐рдзрд┐ рднреА рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдЕрднреА рддрдХ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ)ред
рдЬреЛ рдХреЛрдИ рднреА рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рд╡рд╣рд╛рдВ рдПрдХ рдЯреЙрдлреА рдорд┐рд▓ рдЬрд╛рдПрдЧреА, рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдкреНрдпрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдореБрдЦреНрдп рдХреЛрдб рдХреЛ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдмрд╛рдзрд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЛ рдирд╣реАрдВ рдмрд╛рдВрдзрд╛, рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдХрд┐рд╕реА рднреА рдЗрдВрдЬрди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХреВрдВред
рдЯреВрдбреВ:- рдХреНрд▓рд╕реНрдЯрд░ рдПрдлрдПрд╕ рдХреЗ рдмрд┐рдирд╛ рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рд╡рд┐рддрд░рдХ + рднреВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ (рд╕рднреА рдПрдХ рд╡рдпрд╕реНрдХ рдХреЗ рд▓рд┐рдП)
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛ рдЬрд╛рдиреЗ рдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рд┐рд╡рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрджрд┐ рдПрдХ рд╡рд┐рддрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
- рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдпреА рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓
- NoSQL рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ
- рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рдЕрдВрджрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ (gzip, zstd, snappy) рдХреА рд╕рдВрдкреАрдбрд╝рди рдФрд░ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП
- рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рдЕрдВрджрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди
- GPU рд╕рд╣рд┐рдд рд╡рд┐рд▓рдВрдмрд┐рдд рд╕рд░реНрд╡рд░ рд╡реАрдбрд┐рдпреЛ рд░реВрдкрд╛рдВрддрд░рдг
рдпрд╣ рд╕рдм, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЖрддрд╛ рд╣реИ, рдмреАрдПрд╕рдбреА -3 рд▓рд╛рдЗрд╕реЗрдВрд╕, рджреЛрд╣рд░реА рдХреЙрдкреАрд░рд╛рдЗрдЯ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдХрдВрдкрдиреА рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рд╕рд░реНрд╡рд░ рднреА рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдореИрдВ рдПрдХрд╡рдЪрди рдореЗрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдБред рдореИрдВ рдкрд╛рдпрд╛ рдХреАрдбрд╝реЗ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред