
Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° 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 \n-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
