ืื—ืกืŸ ื‘ื™ืขื™ืœื•ืช ืžืื•ืช ืžื™ืœื™ื•ื ื™ ืงื‘ืฆื™ื ืงื˜ื ื™ื. ืคืชืจื•ืŸ ืžืืจื— ืขืฆืžื™

ืื—ืกืŸ ื‘ื™ืขื™ืœื•ืช ืžืื•ืช ืžื™ืœื™ื•ื ื™ ืงื‘ืฆื™ื ืงื˜ื ื™ื. ืคืชืจื•ืŸ ืžืืจื— ืขืฆืžื™

ืงื”ื™ืœื” ื™ืงืจื”, ืžืืžืจ ื–ื” ื™ืชืžืงื“ ื‘ืื—ืกื•ืŸ ื•ืื—ื–ื•ืจ ื™ืขื™ืœ ืฉืœ ืžืื•ืช ืžื™ืœื™ื•ื ื™ ืงื‘ืฆื™ื ืงื˜ื ื™ื. ื‘ืฉืœื‘ ื–ื” ืžื•ืฆืข ื”ืคืชืจื•ืŸ ื”ืกื•ืคื™ ืœืžืขืจื›ื•ืช ืงื‘ืฆื™ื ืชื•ืืžื•ืช POSIX ืขื ืชืžื™ื›ื” ืžืœืื” ื‘ืžื ืขื•ืœื™ื, ื›ื•ืœืœ ืžื ืขื•ืœื™ ืืฉื›ื•ืœ, ื•ืœื›ืื•ืจื” ืืฃ ืœืœื ืงื‘ื™ื™ื.

ืื– ื›ืชื‘ืชื™ ืฉืจืช ืžื•ืชืื ืื™ืฉื™ืช ืžืฉืœื™ ืœืžื˜ืจื” ื–ื•.
ื‘ืžื”ืœืš ื™ื™ืฉื•ื ื”ืžืฉื™ืžื” ื”ื–ื•, ื”ืฆืœื—ื ื• ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื”ืขื™ืงืจื™ืช, ื•ื‘ืžืงื‘ื™ืœ ืœื”ืฉื™ื’ ื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื“ื™ืกืง ื•-RAM, ืฉืžืขืจื›ืช ื”ืงื‘ืฆื™ื ืฉืœ ื”ืืฉื›ื•ืœื•ืช ืฉืœื ื• ืฆืจื›ื” ืœืœื ืจื—ืžื™ื. ืœืžืขืฉื”, ืžืกืคืจ ื›ื–ื” ืฉืœ ืงื‘ืฆื™ื ืžื–ื™ืง ืœื›ืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ืžืงื•ื‘ืฆืช.

ื”ืจืขื™ื•ืŸ ื”ื•ื ื–ื”:

ื‘ืžื™ืœื™ื ืคืฉื•ื˜ื•ืช, ืงื‘ืฆื™ื ืงื˜ื ื™ื ืขื•ืœื™ื ื“ืจืš ื”ืฉืจืช, ื”ื ื ืฉืžืจื™ื ื™ืฉื™ืจื•ืช ื‘ืืจื›ื™ื•ืŸ, ื•ื’ื ืงื•ืจืื™ื ืžืžื ื•, ื•ืงื‘ืฆื™ื ื’ื“ื•ืœื™ื ืžื•ื ื—ื™ื ื–ื” ืœืฆื“ ื–ื”. ืกื›ื™ืžื”: ืชื™ืงื™ื” ืื—ืช = ืืจื›ื™ื•ืŸ ืื—ื“, ื‘ืกืš ื”ื›ืœ ื™ืฉ ืœื ื• ื›ืžื” ืžื™ืœื™ื•ื ื™ ืืจื›ื™ื•ื ื™ื ืขื ืงื‘ืฆื™ื ืงื˜ื ื™ื, ื•ืœื ื›ืžื” ืžืื•ืช ืžื™ืœื™ื•ื ื™ ืงื‘ืฆื™ื. ื•ื›ืœ ื–ื” ืžื™ื•ืฉื ื‘ืžืœื•ืื•, ืœืœื ืกืงืจื™ืคื˜ื™ื ืื• ื”ื›ื ืกืช ืงื‘ืฆื™ื ืœืืจื›ื™ื•ื ื™ tar/zip.

ืืฉืชื“ืœ ืœืงืฆืจ, ืื ื™ ืžืชื ืฆืœ ืžืจืืฉ ืื ื”ืคื•ืกื˜ ืืจื•ืš.

ื”ื›ืœ ื”ืชื—ื™ืœ ืžื–ื” ืฉืœื ื”ืฆืœื—ืชื™ ืœืžืฆื•ื ืฉืจืช ืžืชืื™ื ื‘ืขื•ืœื ืฉื™ื•ื›ืœ ืœืฉืžื•ืจ ื ืชื•ื ื™ื ืฉื”ืชืงื‘ืœื• ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ HTTP ื™ืฉื™ืจื•ืช ืœืืจื›ื™ื•ื ื™ื, ืœืœื ื”ื—ืกืจื•ื ื•ืช ื”ื’ืœื•ืžื™ื ื‘ืืจื›ื™ื•ื ื™ื ื•ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ืงื•ื ื‘ื ืฆื™ื•ื ืœื™ื™ื. ื•ื”ืกื™ื‘ื” ืœื—ื™ืคื•ืฉ ื”ื™ื™ืชื” ืืฉื›ื•ืœ ื”-Origin ืฉืœ 10 ืฉืจืชื™ื ืฉืฆืžื—ื• ืœืงื ื” ืžื™ื“ื” ื’ื“ื•ืœ, ืฉื‘ื”ื ื›ื‘ืจ ื”ืฆื˜ื‘ืจื• 250,000,000 ืงื‘ืฆื™ื ืงื˜ื ื™ื, ื•ืžื’ืžืช ื”ืฆืžื™ื—ื” ืœื ื”ืชื›ื•ื•ื ื” ืœื”ื™ืคืกืง.

ืœืžื™ ืฉืœื ืื•ื”ื‘ ืœืงืจื•ื ืžืืžืจื™ื, ืงืœ ื™ื•ืชืจ ืชื™ืขื•ื“ ืงื˜ืŸ:

ื›ืืŸ ะธ ื›ืืŸ.

ื•ื“ื•ืงืจ ื‘ืื•ืชื• ื”ื–ืžืŸ, ืขื›ืฉื™ื• ื™ืฉ ืืคืฉืจื•ืช ืจืง ืขื 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 ื™ืฉ ืžื’ื‘ืœื”: ืœื ื™ื•ืชืจ ืžืžื™ืœื™ืืจื“ ืขื ื”ืขืชืง ืื—ื“ ืฉืœ ื›ืœ ืงื•ื‘ืฅ.

ื›ื›ืœ ืฉืžืกืคืจ ื”ืงื‘ืฆื™ื ื’ื“ืœ, ื™ืฉ ืฆื•ืจืš ื‘ื”ืจื‘ื” ื–ื™ื›ืจื•ืŸ RAM ืขื‘ื•ืจ ืžื˜ื ื ืชื•ื ื™ื. ื”ืฉืœื›ื•ืช ืชื›ื•ืคื•ืช ืฉืœ ืžื˜ื ื ืชื•ื ื™ื ื’ื“ื•ืœื•ืช ืชื•ืจืžื•ืช ื’ื ืœื‘ืœืื™ ืฉืœ ื›ื•ื ื ื™ SSD.

ืฉืจืช wZD. ืขืฉื™ื ื• ืกื“ืจ ื‘ื“ื‘ืจื™ื ืขืœ ื”ื“ื™ืกืงื™ื.

ื”ืฉืจืช ื›ืชื•ื‘ ื‘-Go. ืงื•ื“ื ื›ืœ, ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ืคื—ื™ืช ืืช ืžืกืคืจ ื”ืงื‘ืฆื™ื. ืื™ืš ืœืขืฉื•ืช ืืช ื–ื”? ื‘ื’ืœืœ ืืจื›ื™ื•ืŸ, ืื‘ืœ ื‘ืžืงืจื” ื–ื” ืœืœื ื“ื—ื™ืกื”, ืžื›ื™ื•ื•ืŸ ืฉื”ืงื‘ืฆื™ื ืฉืœื™ ื”ื ืจืง ืชืžื•ื ื•ืช ื“ื—ื•ืกื•ืช. ืœืขื–ืจื” ื”ื’ื™ืขื” BoltDB, ืฉืขื“ื™ื™ืŸ ื”ื™ื” ืฆืจื™ืš ืœื—ืกืœ ืžื—ืกืจื•ื ื•ืชื™ื”, ื”ื“ื‘ืจ ื‘ื ืœื™ื“ื™ ื‘ื™ื˜ื•ื™ ื‘ืชื™ืขื•ื“.

ื‘ืกืš ื”ื›ืœ, ื‘ืžืงื•ื ืจื‘ืข ืžื™ืœื™ืืจื“ ืชื™ืงื™ื, ื‘ืžืงืจื” ืฉืœื™ ื ืฉืืจื• ืจืง 10 ืžื™ืœื™ื•ืŸ ืืจื›ื™ื•ื ื™ื ืฉืœ ื‘ื•ืœื˜. ืื ื”ื™ื™ืชื” ืœื™ ื”ื–ื“ืžื ื•ืช ืœืฉื ื•ืช ืืช ืžื‘ื ื” ืงื‘ืฆื™ ื”ืกืคืจื™ื•ืช ื”ื ื•ื›ื—ื™, ืืคืฉืจ ื”ื™ื” ืœืฆืžืฆื ืื•ืชื• ืœื›ืžื™ืœื™ื•ืŸ ืงื‘ืฆื™ื.

ื›ืœ ื”ืงื‘ืฆื™ื ื”ืงื˜ื ื™ื ื ืืจื–ื™ื ื‘ืืจื›ื™ื•ื ื™ Bolt, ืฉืžืงื‘ืœื™ื ืื•ื˜ื•ืžื˜ื™ืช ืืช ืฉืžื•ืช ื”ืกืคืจื™ื•ืช ืฉื‘ื”ืŸ ื”ื ื ืžืฆืื™ื, ื•ื›ืœ ื”ืงื‘ืฆื™ื ื”ื’ื“ื•ืœื™ื ื ืฉืืจื™ื ืœื™ื“ ื”ืืจื›ื™ื•ื ื™ื; ืื™ืŸ ื˜ืขื ืœืืจื•ื– ืื•ืชื, ื–ื” ื ื™ืชืŸ ืœื”ืชืืžื” ืื™ืฉื™ืช. ืงื˜ื ื™ื ื ืฉืžืจื™ื ื‘ืืจื›ื™ื•ืŸ, ื’ื“ื•ืœื™ื ื ืฉืืจื™ื ืœืœื ืฉื™ื ื•ื™. ื”ืฉืจืช ืขื•ื‘ื“ ื‘ืฉืงื™ืคื•ืช ืขื ืฉื ื™ื”ื.

ืืจื›ื™ื˜ืงื˜ื•ืจื” ื•ืชื›ื•ื ื•ืช ืฉืœ ืฉืจืช wZD.

ืื—ืกืŸ ื‘ื™ืขื™ืœื•ืช ืžืื•ืช ืžื™ืœื™ื•ื ื™ ืงื‘ืฆื™ื ืงื˜ื ื™ื. ืคืชืจื•ืŸ ืžืืจื— ืขืฆืžื™

ื”ืฉืจืช ืคื•ืขืœ ืชื—ืช ืžืขืจื›ื•ืช ื”ื”ืคืขืœื” Linux, BSD, Solaris ื•-OSX. ื‘ื“ืงืชื™ ืจืง ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจืช AMD64 ืชื—ืช ืœื™ื ื•ืงืก, ืื‘ืœ ื–ื” ืืžื•ืจ ืœืขื‘ื•ื“ ืขื‘ื•ืจ ARM64, PPC64, MIPS64.

ืชื›ื•ื ื•ืช ืขื™ืงืจื™ื•ืช:

  • ืจื™ื‘ื•ื™ ื”ืฉืจืฉื•ืจื™ื;
  • ืžื•ืœื˜ื™-ืฉืจืช, ืžืกืคืง ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื•ืื™ื–ื•ืŸ ืขื•ืžืกื™ื;
  • ืฉืงื™ืคื•ืช ืžืจื‘ื™ืช ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ ืื• ื”ืžืคืชื—;
  • ืฉื™ื˜ื•ืช HTTP ื ืชืžื›ื•ืช: GET, HEAD, PUT ื•-DELETE;
  • ืฉืœื™ื˜ื” ื‘ื”ืชื ื”ื’ื•ืช ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ื‘ืืžืฆืขื•ืช ื›ื•ืชืจื•ืช ืœืงื•ื—ื•ืช;
  • ืชืžื™ื›ื” ื‘ืžืืจื—ื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ื’ืžื™ืฉื™ื;
  • ืชืžื™ื›ื” ื‘ืฉืœืžื•ืช ื ืชื•ื ื™ CRC ื‘ืขืช ื›ืชื™ื‘ื”/ืงืจื™ืื”;
  • ืžืื’ืจื™ื ื—ืฆื™ ื“ื™ื ืžื™ื™ื ืœืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ืžื™ื ื™ืžืœื™ืช ื•ื›ื•ื•ื ื•ืŸ ื‘ื™ืฆื•ืขื™ ืจืฉืช ืื•ืคื˜ื™ืžืœื™ื™ื;
  • ื“ื—ื™ืงืช ื“ื—ื™ืกืช ื ืชื•ื ื™ื;
  • ื‘ื ื•ืกืฃ, ืžื•ืฆืข wZA ืืจื›ื™ื•ืŸ ืจื‘-ื”ืœื™ื›ื™ ืœื”ืขื‘ืจืช ืงื‘ืฆื™ื ืžื‘ืœื™ ืœื”ืคืกื™ืง ืืช ื”ืฉื™ืจื•ืช.

ื ื™ืกื™ื•ืŸ ืืžื™ืชื™:

ืื ื™ ืžืคืชื— ื•ื‘ื•ื“ืง ืืช ื”ืฉืจืช ื•ื”ืืจื›ื™ื•ืŸ ืขืœ ื ืชื•ื ื™ื ื—ื™ื™ื ื›ื‘ืจ ื“ื™ ื”ืจื‘ื” ื–ืžืŸ, ื›ืขืช ื”ื•ื ืคื•ืขืœ ื‘ื”ืฆืœื—ื” ืขืœ ืืฉื›ื•ืœ ื”ื›ื•ืœืœ 250,000,000 ืงื‘ืฆื™ื ืงื˜ื ื™ื (ืชืžื•ื ื•ืช) ื”ื ืžืฆืื™ื ื‘-15,000,000 ืกืคืจื™ื•ืช ืขืœ ื›ื•ื ื ื™ SATA ื ืคืจื“ื™ื. ืืฉื›ื•ืœ ืฉืœ 10 ืฉืจืชื™ื ื”ื•ื ืฉืจืช Origin ื”ืžื•ืชืงืŸ ืžืื—ื•ืจื™ ืจืฉืช CDN. ื›ื“ื™ ืœืฉืจืช ืื•ืชื•, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืฉื ื™ ืฉืจืชื™ 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

ืชื™ืื•ืจื™ื ืฉืœ ืฉื™ื˜ื•ืช ืื—ืจื•ืช ื ืžืฆืื™ื ื‘ืชื™ืขื•ื“.

ืชื™ืขื•ื“ wZD
ืชื™ืขื•ื“ wZA

ื”ืฉืจืช ืชื•ืžืš ื›ืจื’ืข ืจืง ื‘ืคืจื•ื˜ื•ืงื•ืœ HTTP; ื”ื•ื ืขื“ื™ื™ืŸ ืœื ืขื•ื‘ื“ ืขื HTTPS. ื’ื ืฉื™ื˜ืช POST ืื™ื ื” ื ืชืžื›ืช (ืขื“ื™ื™ืŸ ืœื ื”ื•ื—ืœื˜ ืื ื™ืฉ ื‘ื” ืฆื•ืจืš ืื• ืœื).

ืžื™ ืฉื™ื—ืคื•ืจ ื‘ืงื•ื“ ื”ืžืงื•ืจ ื™ืžืฆื ืฉื Butterscotch, ืœื ื›ื•ืœื ืื•ื”ื‘ื™ื ืืช ื–ื”, ืื‘ืœ ืœื ืงืฉืจืชื™ ืืช ื”ืงื•ื“ ื”ืจืืฉื™ ืœืคื•ื ืงืฆื™ื•ืช ืฉืœ ื”-web framework, ืคืจื˜ ืœ-interrupt handler, ื›ืš ืฉื‘ืขืชื™ื“ ืื•ื›ืœ ืœืฉื›ืชื‘ ืื•ืชื• ื‘ืžื”ื™ืจื•ืช ื›ืžืขื˜ ืœื›ืœ ืื—ื“. ืžื ื•ืข.

ToDo:

  • ืคื™ืชื•ื— ืžืฉื›ืคืœ ื•ืžืคื™ืฅ ืžืฉืœืš + ื’ื™ืื•ื’ืจืคื™ ืœืืคืฉืจื•ืช ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ื’ื“ื•ืœื•ืช ืœืœื ืžืขืจื›ื•ืช ืงื‘ืฆื™ ืืฉื›ื•ืœ (ื”ื›ืœ ืœืžื‘ื•ื’ืจื™ื)
  • ืืคืฉืจื•ืช ืœืฉื—ื–ื•ืจ ื”ืคื•ืš ืœื—ืœื•ื˜ื™ืŸ ืฉืœ ืžื˜ื ื ืชื•ื ื™ื ืื ื”ื ืื•ื‘ื“ื™ื ืœื—ืœื•ื˜ื™ืŸ (ืื ืžืฉืชืžืฉื™ื ื‘ืžืคื™ืฅ)
  • ืคืจื•ื˜ื•ืงื•ืœ ืžืงื•ืจื™ ืœื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื—ื™ื‘ื•ืจื™ ืจืฉืช ืžืชืžืฉื›ื™ื ื•ื‘ืžื ื”ืœื™ ื”ืชืงื ื™ื ืขื‘ื•ืจ ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช
  • ืืคืฉืจื•ื™ื•ืช ืžืชืงื“ืžื•ืช ืœืฉื™ืžื•ืฉ ื‘ืจื›ื™ื‘ NoSQL
  • ื“ื—ื™ืกื•ืช ืžืกื•ื’ื™ื ืฉื•ื ื™ื (gzip, zstd, snappy) ืขื‘ื•ืจ ืงื‘ืฆื™ื ืื• ืขืจื›ื™ื ื‘ืชื•ืš ืืจื›ื™ื•ื ื™ Bolt ื•ืขื‘ื•ืจ ืงื‘ืฆื™ื ืจื’ื™ืœื™ื
  • ื”ืฆืคื ื” ืžืกื•ื’ื™ื ืฉื•ื ื™ื ืขื‘ื•ืจ ืงื‘ืฆื™ื ืื• ืขืจื›ื™ื ื‘ืชื•ืš ืืจื›ื™ื•ื ื™ Bolt ื•ืขื‘ื•ืจ ืงื‘ืฆื™ื ืจื’ื™ืœื™ื
  • ื”ืžืจืช ื•ื™ื“ืื• ื‘ืฆื“ ืฉืจืช ืžื•ืฉื”ื™ืช, ื›ื•ืœืœ ื‘-GPU

ื™ืฉ ืœื™ ื”ื›ืœ, ืื ื™ ืžืงื•ื•ื” ืฉื”ืฉืจืช ื”ื–ื” ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ืœืžื™ืฉื”ื•, ืจื™ืฉื™ื•ืŸ BSD-3, ื–ื›ื•ื™ื•ืช ื™ื•ืฆืจื™ื ื›ืคื•ืœื•ืช, ืฉื›ืŸ ืื ืœื ื”ื™ื™ืชื” ื—ื‘ืจื” ืฉื‘ื” ืื ื™ ืขื•ื‘ื“, ื”ืฉืจืช ืœื ื”ื™ื” ื ื›ืชื‘. ืื ื™ ื”ืžืคืชื— ื”ื™ื—ื™ื“. ืื ื™ ืื•ื“ื” ืœื›ืœ ื‘ืื’ื™ื ื•ื‘ืงืฉื•ืช ืชื›ื•ื ื” ืฉืชืžืฆื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”