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