ΠΏΡΡΠ²ΠΈ Π²ΡΠΏΡΡΠΊ β ΡΡΡΠ²ΡΡΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ Π²ΠΈΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ²ΡΠ½ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ WebDAV ΡΡΡΠ²ΡΡ. ΠΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡ . ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Go ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· BSD.
Π‘ΡΡΠ²ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π±ΡΠΎΡ Π½Π° ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ wZD ΠΊΠ»ΡΡΡΠ΅Ρ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΎΠΊΠΎΠ»ΠΎ 250 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² 15 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° .
wZD ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ (Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅) Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π°ΡΡ ΠΈΠ²ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ BoltDB ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅ (ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π°ΡΡ ΠΈΠ²ΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° PUT), Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ Π±ΡΠΎΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. ΠΠ° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°ΠΊΠΈΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡ Bolt Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅. ΠΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΠΉ ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π° Ρ Π»ΠΈΠΌΠΈΡΠ° Π½Π° Π±ΡΠΎΡ inode Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π‘ΡΡΠ²ΡΡΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ NoSQL Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠΎΡΠΌΠ°Ρ ΠΊΠ»ΡΡ/ΡΡΠΎΠΉΠ½ΠΎΡΡ (Ρ ΡΠ°ΡΠ΄ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅) ΠΈΠ»ΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ ΠΎΡ ΠΠ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ html ΠΈΠ»ΠΈ json Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ. Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Bolt Π°ΡΡ ΠΈΠ²ΠΈ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Ρ 20-25% ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Ρ 40-50% ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ. ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΡΠ° ΡΠ°Π·Π»ΠΈΡΠΈΡΡΠ° Π² Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ :
- ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ;
- ΠΡΠ»ΡΠΈΡΡΡΠ²ΡΡΠ½ΠΎΡΡ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΠΈ Π±Π°Π»Π°Π½Ρ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ;
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ HTTP ΠΌΠ΅ΡΠΎΠ΄ΠΈ: GET, HEAD, PUT ΠΈ DELETE;
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ ΡΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ Π·Π°Π³Π»Π°Π²ΠΈΡ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° CRC ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ/ΡΠ΅ΡΠ΅Π½Π΅;
- ΠΠΎΠ»ΡΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ Π±ΡΡΠ΅ΡΠΈ Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ;
- ΠΡΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ;
- Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ΅Π½ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Bolt Π°ΡΡ ΠΈΠ²ΠΈ Π±Π΅Π· ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°.
ΠΡΠΊΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: Π½ΡΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Multipart, ΠΌΠ΅ΡΠΎΠ΄Π° POST, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTPS, Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ Π·Π° Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π»ΠΈΠΏΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π· WebDAV ΠΈΠ»ΠΈ FUSE, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π΅Π΄ΠΈΠ½ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π». Π€ΠΎΡΠΌΠ°ΡΡΡ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ Little Endian ΠΈ Big Endian. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΡΠ²ΡΡΡΡ wZD ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎ Π·Π°Π΄ ΡΠ΅Π²Π΅ΡΡ ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠ°ΡΠΎ nginx ΠΈ haproxy.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
