Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΄Π°ΡΠ΅ ΡΠΎΡΠ΅Π½ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ POSIX ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΡ
, ΠΈ Π²ΡΠΎΠ΄Π΅ Π±Ρ Π΄Π°ΠΆΠ΅ ΡΠΆΠ΅ Π±Π΅Π· ΠΊΠΎΡΡΡΠ»Π΅ΠΉ.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠΎ Ρ
ΠΎΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΠΏΡΡΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΡΠ°Π΄Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ»Π° Π½Π°ΡΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ΅Π΄Π½ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ΄Π΅Ρ ΡΠ°ΠΊΠ°Ρ:
ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π»ΠΈΠ²Π°ΡΡ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΎΠ½ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² Π°ΡΡ ΠΈΠ², ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ, Π° Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ»Π°Π΄ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ. Π‘Ρ Π΅ΠΌΠ°: 1 ΠΏΠ°ΠΏΠΊΠ° = 1 Π°ΡΡ ΠΈΠ², ΠΈΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π°ΡΡ ΠΈΠ²ΠΎΠ² Ρ ΠΌΠ΅Π»ΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ². Π Π²ΡΠ΅ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ, Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ tar/zip Π°ΡΡ ΠΈΠ²Π°ΠΌ.
ΠΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΈΠ·Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠΊΠΎΡΠΎΡΠ΅, Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠ½ΠΎΡΡ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ Π΅ΠΌΠΊΠΈΠΌ.
ΠΠ°ΡΠ°Π»ΠΎΡΡ Π²ΡΠ΅ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π½Π΅ ΡΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΌΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· HTTP ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½Π°ΠΏΡΡΠΌΡΡ Π² Π°ΡΡ ΠΈΠ²Ρ, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΏΡΠΈΡΡΡΠΈΡ ΠΎΠ±ΡΡΠ½ΡΠΌ Π°ΡΡ ΠΈΠ²Π°ΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌ. Π ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΠΈΡΠΊΠΎΠ² ΡΡΠ°Π» ΡΠ°Π·ΡΠΎΡΡΠΈΠΉΡΡ Π΄ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΎΠ² Origin ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· 10 ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠΎΠΏΠΈΠ»ΠΎΡΡ ΡΠΆΠ΅ 250,000,000 ΠΌΠ΅Π»ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΡΠΎΡΡΠ° ΠΈ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»Π°ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡΡΡ.
Π’Π΅ΠΌ, ΠΊΡΠΎ ΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΠΈ Π½Π΅ Π»ΡΠ±ΠΈΡ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ΅:
Π docker Π·Π°ΠΎΠ΄Π½ΠΎ, ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ 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 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π° ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°ΡΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π΄Π°ΠΌΠΏΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡ ΠΈΠ·Π½ΠΎΡΡ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ.
Π‘Π΅ΡΠ²Π΅Ρ wZD. ΠΠ°Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π° Π΄ΠΈΡΠΊΠ°Ρ .
Π‘Π΅ΡΠ²Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ? ΠΠ° ΡΡΡΡ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»Ρ ΡΡΠΎ ΡΠΏΠ»ΠΎΡΠ½ΡΠ΅ ΡΠΆΠ°ΡΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΠ° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡΠ»Π° BoltDB, ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΠ΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π»ΠΈΡΠ°ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΠΈ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Bolt Π°ΡΡ ΠΈΠ²ΠΎΠ². ΠΡΠ»ΠΈ Π±Ρ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΈ Π΄ΠΎ 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠ΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² Bolt Π°ΡΡ ΠΈΠ²Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ, Π° Π²ΡΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΡΠ°ΡΡΡΡ ΡΡΠ΄ΡΡΠΊΠΎΠΌ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ, ΠΈΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ, ΡΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎ. ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ β Π°ΡΡ ΠΈΠ²ΠΈΡΡΠ΅ΠΌ, Π±ΠΎΠ»ΡΡΠΈΠ΅ β ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π‘Π΅ΡΠ²Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΈ Ρ ΡΠ΅ΠΌΠΈ, ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° wZD.
Π‘Π΅ΡΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Linux, BSD, Solaris ΠΈ OSX. Π― ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ AMD64 ΠΏΠΎΠ΄ Linux, Π½ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΈ Π΄Π»Ρ ARM64, PPC64, MIPS64.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΡΠΊΠΈ:
- ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ;
- ΠΡΠ»ΡΡΠΈΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΈ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ;
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ HTTP-ΠΌΠ΅ΡΠΎΠ΄Ρ: GET, HEAD, PUT ΠΈ DELETE;
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Ρ ΠΎΡΡΠΎΠ²;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CRC ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ/ΡΡΠ΅Π½ΠΈΠΈ;
- ΠΠΎΠ»ΡΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΡΡΠ΅ΡΡ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ;
- ΠΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ Π΄Π°Π½Π½ΡΡ ;
- Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ wZA Π΄Π»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π΅Π· ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°.
Π Π΅Π°Π»ΡΠ½ΡΠΉ ΠΎΠΏΡΡ:
Π― ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π» ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ Π½Π° ΠΆΠΈΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠ½ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΌ 250,000,000 ΠΌΠ΅Π»ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ), ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² 15,000,000 Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ SATA-Π΄ΠΈΡΠΊΠ°Ρ . ΠΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· 10 ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Origin-ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π·Π° CDN-ΡΠ΅ΡΡΡ. ΠΠ»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 2 ΡΠ΅ΡΠ²Π΅ΡΠ° Nginx + 2 ΡΠ΅ΡΠ²Π΅ΡΠ° wZD.
Π’Π΅ΠΌ, ΠΊΡΠΎ ΡΠ΅ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ. Π‘ΡΠ°Π·Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡ Π·Π°ΠΏΠΈΡ Π½ΡΡΡ Π² 1 Bolt Π°ΡΡ ΠΈΠ².
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ΅ΠΌ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ GET ΠΈ PUT. Π‘ΡΠ°Π²Π½ΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ HTTP ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π² ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π² Bolt Π°ΡΡ ΠΈΠ²Ρ, ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ΅Π½ΠΈΠ΅. Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 32 KB, 256 KB, 1024 KB, 4096 KB ΠΈ 32768 KB.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Bolt Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ CRC), Π΄ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»Π΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ΅Ρ, ΡΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π½ΠΎΡΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ β Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ .
Π’Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» Π½Π° SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° SATA-Π΄ΠΈΡΠΊΠ°Ρ ΡΠ΅ΡΡΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ.
ΠΡΠ°ΡΠΈΠΊΠΈ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π·Π½ΠΈΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ Π½Π΅ Π·Π°Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½Π΅Π²Π΅Π»ΠΈΠΊΠ°.
Π‘ΠΎΠ²ΡΠ΅ΠΌ ΠΈΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΈ ΡΠ΅ΡΡΠ΅ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 32 MB:
Π Π°Π·Π½ΠΈΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² β Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
5-25 ΠΌΡ. Π‘ Π·Π°ΠΏΠΈΡΡΡ Π΄Π΅Π»Π° ΠΎΠ±ΡΡΠΎΡΡ Ρ
ΡΠΆΠ΅, ΡΠ°Π·Π½ΠΈΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 150 ΠΌΡ. ΠΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, Π² ΡΡΠΎΠΌ ΠΏΠΎΠΏΡΠΎΡΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΆΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ Π°ΡΡ
ΠΈΠ²ΠΎΠ².
*Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΡΡΠ΅Π±ΡΡΡΠΈΡ NoSQL.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ wZD ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ:
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
curl -X PUT --data-binary @test.jpg http://localhost/test/test.jpg
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π² Bolt Π°ΡΡ ΠΈΠ² (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ 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
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Bolt Π°ΡΡ ΠΈΠ²Π° (ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ):
curl -o test.jpg -H "FromArchive: 1" http://localhost/test/test.jpg
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠΊΠ° ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP, Ρ HTTPS ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ POST (Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π½ΡΠΆΠ΅Π½ ΠΎΠ½ ΠΈΠ»ΠΈ Π½Π΅Ρ).
ΠΡΠΎ ΠΏΠΎΠΊΠΎΠΏΠ°Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΠ°ΠΌ ΠΈΡΠΈΡΠΊΡ, Π΅Π΅ Π½Π΅ Π²ΡΠ΅ Π»ΡΠ±ΡΡ, Π½ΠΎ Ρ Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π» ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π²Π΅Π± ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΡΠΎΠΌΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠ³Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΡΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ.
ToDo:
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΡΠΎΡΠ° + Π³Π΅ΠΎ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π±Π΅Π· ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΡ Π€Π‘ (ΠΡΡ ΠΏΠΎ Π²Π·ΡΠΎΡΠ»ΠΎΠΌΡ)
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ΅Π²Π΅ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΠ΅ΡΠ΅(Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΡΠΎΡΠ°)
- ΠΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ NoSQL ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ
- ΠΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² (gzip, zstd, snappy) Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ Bolt Π°ΡΡ ΠΈΠ²ΠΎΠ² ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ Bolt Π°ΡΡ ΠΈΠ²ΠΎΠ² ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π° GPU
Π£ ΠΌΠ΅Π½Ρ Π²ΡΡ, Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ, Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD-3, ΠΊΠΎΠΏΠΈΡΠ°ΠΉΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π³Π΄Π΅ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ, Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π» Π±Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΡΠ»Π΅. ΠΡΠ΄Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»Π΅Π½ Π·Π° Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π±Π°Π³ΠΈ ΠΈ ΡΠΈΡ ΡΠ΅ΠΊΠ²Π΅ΡΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com