рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди

рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди

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

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

рд╡рд┐рдЪрд╛рд░ рдпреЛ рд╣реЛ:

рд╕рд░рд▓ рд╢рдмреНрджрд╣рд░реВрдорд╛, рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд░реНрднрд░ рдорд╛рд░реНрдлрдд рдЕрдкрд▓реЛрдб рд╣реБрдиреНрдЫрдиреН, рддрд┐рдиреАрд╣рд░реВ рд╕рд┐рдзреИ рдЕрднрд┐рд▓реЗрдЦрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реБрдиреНрдЫрдиреН, рд░ рддреНрдпрд╕рдмрд╛рдЯ рдкрдвреНрдЫрдиреН, рд░ рдареВрд▓рд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдЫреЗрдЙрдЫрд╛рдЙрдорд╛ рд░рд╛рдЦрд┐рдиреНрдЫрдиреНред рдпреЛрдЬрдирд╛: 1 рдлреЛрд▓реНрдбрд░ = 1 рдЕрднрд┐рд▓реЗрдЦ, рдХреБрд▓рдорд╛ рд╣рд╛рдореАрд╕рдБрдЧ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВрд╕рдБрдЧ рдзреЗрд░реИ рдорд┐рд▓рд┐рдпрди рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВ рдЫрдиреН, рд░ рдзреЗрд░реИ рд▓рд╛рдЦ рдлрд╛рдЗрд▓рд╣рд░реВ рдЫреИрдирдиреНред рд░ рдпреЛ рд╕рдмреИ рдХреБрдиреИ рдкрдирд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд┐рдирд╛ рд╡рд╛ tar/zip рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВрдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд░рд╛рдЦреНрдиреЗ рдмрд┐рдирд╛, рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдо рдпрд╕рд▓рд╛рдИ рдЫреЛрдЯреЛ рд░рд╛рдЦреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБ, рдпрджрд┐ рдкреЛрд╕реНрдЯ рд▓рд╛рдореЛ рднрдПрдорд╛ рдо рдЕрдЧреНрд░рд┐рдо рдорд╛рдлреА рдЪрд╛рд╣рдиреНрдЫреБред

рдпреЛ рд╕рдмреИ рддрдереНрдпрдХреЛ рд╕рд╛рде рд╕реБрд░реБ рднрдпреЛ рдХрд┐ рдореИрд▓реЗ рд╕рдВрд╕рд╛рд░рдорд╛ рдЙрдкрдпреБрдХреНрдд рд╕рд░реНрднрд░ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреЗрди рдЬрд╕рд▓реЗ HTTP рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛рд▓рд╛рдИ рд╕реАрдзрд╛ рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВрдорд╛ рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдЫ, рдкрд░рдореНрдкрд░рд╛рдЧрдд рдЕрднрд┐рд▓реЗрдЦ рд░ рд╡рд╕реНрддреБ рднрдгреНрдбрд╛рд░рдгрдорд╛ рдирд┐рд╣рд┐рдд рд╣рд╛рдирд┐рд╣рд░реВ рдмрд┐рдирд╛ред рд░ рдЦреЛрдЬрдХреЛ рдХрд╛рд░рдг 10 рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдЙрддреНрдкрддреНрддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдерд┐рдпреЛ рдЬреБрди рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдмрдвреЗрдХреЛ рдерд┐рдпреЛ, рдЬрд╕рдорд╛ 250,000,000 рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдЬрдореНрдорд╛ рднрдЗрд╕рдХреЗрдХрд╛ рдерд┐рдП, рд░ рд╡реГрджреНрдзрд┐рдХреЛ рдкреНрд░рд╡реГрддреНрддрд┐ рд░реЛрдХрд┐рдиреЗрд╡рд╛рд▓рд╛ рдерд┐рдПрдиред

рд▓реЗрдЦрд╣рд░реВ рдкрдвреНрди рдорди рдирдкрд░реНрдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдереЛрд░реИ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд╕рдЬрд┐рд▓реЛ рдЫ:

рдпрд╣рд╛рдБ ╨╕ рдпрд╣рд╛рдБ.

рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдбрдХрд░, рдЕрдм рддреНрдпрд╣рд╛рдБ nginx рдХреЛ рд╕рд╛рде рдорд╛рддреНрд░ рдХреЗрд╕рдорд╛ рдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдЫ:

docker run -d --restart=always -e host=localhost -e root=/var/storage 
-v /var/storage:/var/storage --name wzd -p 80:80 eltaline/wzd

рдЕрд░реНрдХреЛ:

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

рдлрд╛рдИрд▓рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдвреНрджреИ рдЬрд╛рдБрджрд╛, рдореЗрдЯрд╛рдбреЗрдЯрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ RAM рдЪрд╛рд╣рд┐рдиреНрдЫред рдмрд╛рд░рдореНрдмрд╛рд░ рдареВрд▓рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдбрдореНрдкрд╣рд░реВрд▓реЗ рдкрдирд┐ SSD рдбреНрд░рд╛рдЗрднрдХреЛ рд╣рд╛рд░ рд░ рдЖрдБрд╕реБрдорд╛ рдпреЛрдЧрджрд╛рди рдЧрд░реНрджрдЫред

wZD рд╕рд░реНрднрд░ред рд╣рд╛рдореАрд▓реЗ рдбрд┐рд╕реНрдХрд╣рд░реВрдорд╛ рдЪреАрдЬрд╣рд░реВ рдХреНрд░рдордмрджреНрдз рд░рд╛рдЦреНрдЫреМрдВред

рд╕рд░реНрднрд░ Go рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдорд▓рд╛рдИ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рдпреЛ рдХрд╕рд░реА рдЧрд░реНрдиреЗ? рдЕрднрд┐рд▓реЗрдЦрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рддрд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдХрдореНрдкреНрд░реЗрд╕рди рдмрд┐рдирд╛, рдореЗрд░рд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рддреНрд░ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░рд┐рдПрдХрд╛ рддрд╕реНрдмрд┐рд░рд╣рд░реВ рд╣реБрдиреНред BoltDB рдЙрджреНрдзрд╛рд░рдорд╛ рдЖрдпреЛ, рдЬреБрди рдЕрдЭреИ рдкрдирд┐ рдпрд╕рдХреЛ рдХрдордЬреЛрд░реАрд╣рд░реВрдмрд╛рдЯ рд╣рдЯрд╛рдЙрдиреБ рдкрд░реНрдиреЗ рдерд┐рдпреЛ, рдпреЛ рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рд╣реБрдиреНрдЫред

рдХреБрд▓рдорд╛, рдПрдХ рдЕрд░реНрдм рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдПрдХ рдЪреМрдерд╛рдИрдХреЛ рд╕рдЯреНрдЯрд╛, рдореЗрд░реЛ рдорд╛рдорд▓рд╛рдорд╛ рддреНрдпрд╣рд╛рдБ рдХреЗрд╡рд▓ 10 рдорд┐рд▓рд┐рдпрди рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВ рдмрд╛рдБрдХреА рдерд┐рдПред рдпрджрд┐ рдорд╕рдБрдЧ рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдлрд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рдерд┐рдпреЛ рднрдиреЗ, рдпрд╕рд▓рд╛рдИ рд▓рдЧрднрдЧ 1 рдорд┐рд▓рд┐рдпрди рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдШрдЯрд╛рдЙрди рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫред

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

wZD рд╕рд░реНрднрд░рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВред

рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди

рд╕рд░реНрднрд░рд▓реЗ рд▓рд┐рдирдХреНрд╕, рдмреАрдПрд╕рдбреА, рд╕реЛрд▓рд╛рд░рд┐рд╕ рд░ рдУрдПрд╕рдПрдХреНрд╕ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдЕрдиреНрддрд░реНрдЧрдд рдХрд╛рдо рдЧрд░реНрдЫред рдореИрд▓реЗ рд▓рд┐рдирдХреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд AMD64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реЗрдВ, рддрд░ рдпрд╕рд▓реЗ ARM64, PPC64, MIPS64 рдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ:

  • рдорд▓реНрдЯрд┐рдереНрд░реЗрдбрд┐рдЩ;
  • рдорд▓реНрдЯрд┐рд╕рд░реНрднрд░, рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд░ рд▓реЛрдб рд╕рдиреНрддреБрд▓рди рдкреНрд░рджрд╛рди рдЧрд░реНрджреИ;
  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдзрд┐рдХрддрдо рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛;
  • рд╕рдорд░реНрдерд┐рдд HTTP рд╡рд┐рдзрд┐рд╣рд░реВ: GET, HEAD, PUT рд░ DELETE;
  • рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╣реЗрдбрд░рд╣рд░реВ рдорд╛рд░реНрдлрдд рдкрдвреНрдиреЗ рд░ рд▓реЗрдЦреНрдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░рдХреЛ рдирд┐рдпрдиреНрддреНрд░рдг;
  • рд▓рдЪрд┐рд▓реЛ рднрд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди;
  • рд▓реЗрдЦреНрдиреЗ/рдкрдвреНрджрд╛ CRC рдбрд╛рдЯрд╛ рдЕрдЦрдгреНрдбрддрд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдиреНрдпреВрдирддрдо рдореЗрдореЛрд░реА рдЦрдкрдд рд░ рдЗрд╖реНрдЯрддрдо рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рдЯреНрдпреБрдирд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдз-рдЧрддрд┐рд╢реАрд▓ рдмрдлрд░рд╣рд░реВ;
  • рд╕реНрдердЧрд┐рдд рдбрд╛рдЯрд╛ рдХрдореНрдкреЗрдХреНрд╢рди;
  • рдердк рд░реВрдкрдорд╛, рд╕реЗрд╡рд╛ рд░реЛрдХреНрдиреЗ рдмрд┐рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЖрд░реНрдХрд╛рдЗрднрд░ wZA рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡:

рдореИрд▓реЗ рдзреЗрд░реИ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рд▓рд╛рдЗрдн рдбрд╛рдЯрд╛рдорд╛ рд╕рд░реНрднрд░ рд░ рдЖрд░реНрдХрд╛рдЗрднрд░рдХреЛ рд╡рд┐рдХрд╛рд╕ рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреБ, рдЕрдм рдпреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рднрдЗрд░рд╣реЗрдХреЛ рдЫ рдЬрд╕рдорд╛ 250,000,000 рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ (рддрд╕реНрдмрд┐рд░рд╣рд░реВ) 15,000,000 рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВрдорд╛ рдЫреБрдЯреНрдЯреИ SATA рдбреНрд░рд╛рдЗрднрд╣рд░реВрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫрдиреНред 10 рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдПрдЙрдЯрд╛ рдореВрд▓ рд╕рд░реНрднрд░ рд╣реЛ рдЬреБрди CDN рдиреЗрдЯрд╡рд░реНрдХ рдкрдЫрд╛рдбрд┐ рд╕реНрдерд╛рдкрд┐рдд рд╣реБрдиреНрдЫред рдпрд╕рд▓рд╛рдИ рд╕реЗрд╡рд╛ рдЧрд░реНрди, 2 Nginx рд╕рд░реНрднрд░ + 2 wZD рд╕рд░реНрднрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

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

рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг:

рдЬрд┐рдк рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рдЗрдЬ рдЬрддрд┐ рд╕рд╛рдиреЛ рд╣реБрдиреНрдЫ, рддреНрдпрддрд┐ рдиреИ рдЫрд┐рдЯреЛ GET рд░ PUT рдХрд╛рд░реНрдпрд╣рд░реВ рдпрд╕рдорд╛ рдЧрд░рд┐рдиреНрдЫред HTTP рдХреНрд▓рд╛рдЗрдиреНрдЯ рд▓реЗрдЦрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдпрдорд┐рдд рдлрд╛рдЗрд▓рд╣рд░реВ рд░ рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВ, рд╕рд╛рдереИ рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреБрд▓ рд╕рдордп рддреБрд▓рдирд╛ рдЧрд░реМрдВред 32 KB, 256 KB, 1024 KB, 4096 KB рд░ 32768 KB рдЖрдХрд╛рд░рдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдмреЛрд▓реНрдЯ рдЕрднрд┐рд▓реЗрдЦрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдЗрд▓рдХреЛ рдбрд╛рдЯрд╛ рдЕрдЦрдгреНрдбрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ (CRC рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ), рд░реЗрдХрд░реНрдбрд┐рдЩ рдЕрдШрд┐ рд░ рд░реЗрдХрд░реНрдбрд┐рдЩ рдкрдЫрд┐, рдЕрди-рдж-рдлреНрд▓рд╛рдЗ рдкрдвреНрдиреЗ рд░ рдкреБрди: рдЧрдгрдирд╛ рд╣реБрдиреНрдЫ, рдпрд╕рд▓реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛ рдврд┐рд▓рд╛рдЗ рдкрд░рд┐рдЪрдп рдЧрд░рд╛рдЙрдБрдЫ, рддрд░ рдореБрдЦреНрдп рдХреБрд░рд╛ рдбрд╛рдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╣реЛред

рдореИрд▓реЗ SSD рдбреНрд░рд╛рдЗрднрд╣рд░реВрдорд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реЗрдВ, рдХрд┐рдирдХрд┐ SATA рдбреНрд░рд╛рдЗрднрд╣рд░реВрдорд╛ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрд▓реЗ рд╕реНрдкрд╖реНрдЯ рднрд┐рдиреНрдирддрд╛ рджреЗрдЦрд╛рдЙрдБрджреИрдиред

рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдорд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЧреНрд░рд╛рдлрд╣рд░реВ:

рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди
рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди

рддрдкрд╛рдИрдВрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд░ рдЧреИрд░-рд╕рдВрдЧреНрд░рд╣рд┐рдд рдлрд╛рдЗрд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рдкрдвреНрди рд░ рд▓реЗрдЦреНрдиреЗ рд╕рдордпрдХреЛ рднрд┐рдиреНрдирддрд╛ рд╕рд╛рдиреЛ рдЫред

32 MB рд╕рд╛рдЗрдЬрдХреЛ рдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрдиреЗ рд░ рд▓реЗрдЦреНрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджрд╛ рд╣рд╛рдореАрд▓реЗ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдлрд░рдХ рддрд╕реНрд╡реАрд░ рдкрд╛рдЙрдБрдЫреМрдВ:

рд▓рд╛рдЦреМрдВ рд╕рд╛рдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди

рдкрдвреНрдиреЗ рдлрд╛рдЗрд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдордп рднрд┐рдиреНрдирддрд╛ 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 рдорд╛ рд▓рдЧрд╛рдпрдд рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рднрд┐рдбрд┐рдпреЛ рд░реВрдкрд╛рдиреНрддрд░рдгрдорд╛ рдврд┐рд▓рд╛рдЗ рднрдпреЛ

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди