Π£Π²Π°ΠΆΠ°Π΅ΠΌΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ, Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ
Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° POSIX-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ, ΠΈ ΠΏΡΠΈΠ²ΠΈΠ΄Π½ΠΎ Π΄ΠΎΡΠΈ Π±Π΅Π· ΠΏΠ°ΡΠ΅ΡΠΈΡΠΈ.
Π’Π°ΠΊΠ° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ
ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΡΡΠ²ΡΡ Π·Π° ΡΠ°Π·ΠΈ ΡΠ΅Π».
Π Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ Π·Π°Π΄Π°ΡΠ° ΡΡΠΏΡΡ
ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΏΠ΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ RAM, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΠ°ΡΠ° ΠΊΠ»ΡΡΡΠ΅ΡΠ½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π΅Π·ΠΌΠΈΠ»ΠΎΡΡΠ½ΠΎ ΠΏΠΎΠ³Π»ΡΡΠ°ΡΠ΅. ΠΡΡΡΠ½ΠΎΡΡ ΡΠ°ΠΊΡΠ² Π±ΡΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΅ Π²ΡΠ΅Π΄Π΅Π½ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠ»ΡΡΡΠ΅ΡΠ½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ΄Π΅ΡΡΠ° Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°:
Π‘ ΠΏΡΠΎΡΡΠΈ Π΄ΡΠΌΠΈ, ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΠΊΠ°ΡΠ²Π°Ρ ΠΏΡΠ΅Π· ΡΡΡΠ²ΡΡΠ°, Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π°ΡΡ ΠΈΠ²Π° ΠΈ ΡΡΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΠΎΡ Π½Π΅Π³ΠΎ, Π° Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΡ Π΅Π΄ΠΈΠ½ Π΄ΠΎ Π΄ΡΡΠ³. Π‘Ρ Π΅ΠΌΠ°: 1 ΠΏΠ°ΠΏΠΊΠ° = 1 Π°ΡΡ ΠΈΠ², ΠΎΠ±ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π°ΡΡ ΠΈΠ²Π° Ρ ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π° Π½Π΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ°ΠΉΠ»Π°. Π Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² tar/zip Π°ΡΡ ΠΈΠ²ΠΈ.
Π©Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π±ΡΠ΄Π° ΠΊΡΠ°ΡΡΠΊ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΈΠ·Π²ΠΈΠ½ΡΠ²Π°ΠΌ, Π°ΠΊΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π΅ Π΄ΡΠ»Π³Π°.
ΠΡΠΈΡΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π° Ρ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π½Π°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΡΡΡΠ²ΡΡ Π² ΡΠ²Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π΄Π° Π·Π°ΠΏΠ°Π·Π²Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π· HTTP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π°ΡΡ ΠΈΠ²ΠΈ, Π±Π΅Π· Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅, ΠΏΡΠΈΡΡΡΠΈ Π½Π° ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΈ ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ. Π ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Origin ΠΎΡ 10 ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°ΡΠ½Π° Π΄ΠΎ Π³ΠΎΠ»ΡΠΌ ΠΌΠ°ΡΠ°Π±, Π² ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π±ΡΡ Π° Π½Π°ΡΡΡΠΏΠ°Π½ΠΈ 250,000,000 XNUMX XNUMX ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡΡΠ° Π½Π° ΡΠ°ΡΡΠ΅ΠΆ Π½ΡΠΌΠ°ΡΠ΅ Π΄Π° ΡΠΏΡΠ΅.
ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΎΠ±ΠΈΡΠ°Ρ Π΄Π° ΡΠ΅ΡΠ°Ρ ΡΡΠ°ΡΠΈΠΈ, ΠΌΠ°Π»ΠΊΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ:
Π Π΄ΠΎΠΊΠ΅Ρ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅Π³Π° ΠΈΠΌΠ° ΠΎΠΏΡΠΈΡ ΡΠ°ΠΌΠΎ Ρ 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 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π°ΡΡ ΠΈΠ²Π° Π½Π° 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 10 ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»Π° (ΡΠ½ΠΈΠΌΠΊΠΈ), ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² 2 2 XNUMX Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ SATA ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ»ΡΡΡΠ΅Ρ ΠΎΡ XNUMX ΡΡΡΠ²ΡΡΠ° Π΅ Origin ΡΡΡΠ²ΡΡ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π·Π°Π΄ CDN ΠΌΡΠ΅ΠΆΠ°. ΠΠ° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ XNUMX Nginx ΡΡΡΠ²ΡΡΠ° + XNUMX wZD ΡΡΡΠ²ΡΡΠ°.
ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ, Π±ΠΈ Π±ΠΈΠ»ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ Π΄Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°, Π°ΠΊΠΎ Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ, ΠΏΡΠ΅Π΄ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°. ΠΠ΅ΠΊΠ° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΡ Π²Π΅Π΄Π½Π°Π³Π°, ΡΠ΅ ΡΡΡΠ²ΡΡΡΡ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° Π½Π°ΡΡΠΏΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π² Π°ΡΡ ΠΈΠ² Ρ 1 Π±ΠΎΠ»Ρ.
Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°:
ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ», ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ GET ΠΈ PUT Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ. ΠΠ΅ΠΊΠ° ΡΡΠ°Π²Π½ΠΈΠΌ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ Π½Π° Bolt, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅. Π‘ΡΠ°Π²Π½ΡΠ²Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΈ 32 KB, 256 KB, 1024 KB, 4096 KB ΠΈ 32768 KB.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅ Π½Π° Bolt ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ» (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ CRC), ΠΏΡΠ΅Π΄ΠΈ Π·Π°ΠΏΠΈΡ, Π° ΡΡΡΠΎ ΠΈ ΡΠ»Π΅Π΄ Π·Π°ΠΏΠΈΡ, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π΅ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
ΠΡΠΎΠ²Π΅Π΄ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° SSD ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° SATA ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΡΠ½Π° ΡΠ°Π·Π»ΠΈΠΊΠ°.
ΠΡΠ°ΡΠΈΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ΅ΡΡΠ°:
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π·Π° ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΡ
ΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π΅Π°ΡΡ
ΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΅ ΠΌΠ°Π»ΠΊΠ°.
ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΊΠ°ΡΡΠΈΠ½Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΡΠ°Π·ΠΌΠ΅Ρ 32 MB:
ΠΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 5-25 ms. ΠΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π΅ΡΠ°ΡΠ° ΡΠ° ΠΏΠΎ-Π»ΠΎΡΠΈ, ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π΅ ΠΎΠΊΠΎΠ»ΠΎ 150 ms. ΠΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΠΊΠ°ΡΠ²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠΎΡΡΠΎ Π½ΡΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅, ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΆΠΈΠ²Π΅ΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡ Π°ΡΡ
ΠΈΠ²ΠΈΡΠ΅.
*Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ Π·Π° Π·Π°Π΄Π°ΡΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ 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 Π»ΠΈΡΠ΅Π½Π·, Π΄Π²ΠΎΠΉΠ½ΠΎ Π°Π²ΡΠΎΡΡΠΊΠΎ ΠΏΡΠ°Π²ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°ΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΡΠΈΡΠΌΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΡ, ΡΡΡΠ²ΡΡΡΡ Π½ΡΠΌΠ°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½. ΠΠ· ΡΡΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π©Π΅ Π±ΡΠ΄Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΈΡΠΊΠ°Π½ΠΈΡ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com