ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’

ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’

ืœื™ื‘ ืงื”ืœ, ื“ืขืจ ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ืคืึธืงื•ืก ืื•ื™ืฃ ื™ืคื™ืฉืึทื ื˜ืœื™ ืกื˜ืึธืจื™ื ื’ ืื•ืŸ ืจื™ื˜ืจื™ื•ื•ื™ื ื’ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ืื™ืŸ ื“ืขื ื‘ื™ื ืข, ื“ื™ ืœืขืฆื˜ ืœื™ื™ื–ื•ื ื’ ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจ POSIX-ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืžื™ื˜ ืคื•ืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืœืึทืงืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืงื ื•ื™ืœ ืœืึทืงืก, ืื•ืŸ ืคึผืึธื ืขื ืืคื™ืœื• ืึธืŸ ืงืจืึทื˜ืฉื™ื–.

ืึทื–ื•ื™ ืื™ืš ื’ืขืฉืจื™ื‘ืŸ ืžื™ื™ืŸ ืื™ื™ื’ืขื ืข ืžื ื”ื’ ืกืขืจื•ื•ืขืจ ืคึฟืึทืจ ื“ืขื ืฆื•ื•ืขืง.
ืื™ืŸ ื“ืขื ื’ืึทื ื’ ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื“ืขื ืึทืจื‘ืขื˜, ืžื™ืจ ื’ืขืจืื˜ืŸ ืฆื• ืกืึธืœื•ื•ืข ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืจืึธื‘ืœืขื, ืื•ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ึทื˜ ื“ืขืจื’ืจื™ื™ื›ืŸ ืกื™ื™ื•ื•ื™ื ื’ื– ืื™ืŸ ื“ื™ืกืง ืคึผืœืึทืฅ ืื•ืŸ ื‘ืึทืจืึทืŸ, ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืงื ื•ื™ืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ืื™ื– ื’ืขื•ื•ืขืŸ ืจื—ืžื ื•ืช. ืึทืงื˜ื•ืึทืœืœื™, ืึทื–ืึท ืึท ื ื•ืžืขืจ ืคื•ืŸ ื˜ืขืงืขืก ืื™ื– ืฉืขื“ืœืขืš ืคึฟืึทืจ ืงื™ื™ืŸ ืงืœืึทืกื˜ืขืจื“ ื˜ืขืงืข ืกื™ืกื˜ืขื.

ื“ืขืจ ื’ืขื“ืึทื ืง ืื™ื– ื“ืึธืก:

ืื™ืŸ ืคึผืฉื•ื˜ ื•ื•ืขืจื˜ืขืจ, ืงืœื™ื™ืŸ ื˜ืขืงืขืก ื–ืขื ืขืŸ ื•ืคึผืœืึธืึทื“ืขื“ ื“ื•ืจืš ื“ื™ ืกืขืจื•ื•ืขืจ, ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขืจืื˜ืขื•ื•ืขื˜ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ื™ ืึทืจืงื™ื™ื•ื•, ืื•ืŸ ืื•ื™ืš ืœื™ื™ืขื ืขืŸ ืคื•ืŸ ืื™ื, ืื•ืŸ ื’ืจื•ื™ืก ื˜ืขืงืขืก ื–ืขื ืขืŸ ื’ืขืฉื˜ืขืœื˜ ื–ื™ื™ึทื˜ ื‘ื™ื™ ื–ื™ื™ึทื˜. ืกื›ืขืžืข: 1 ื˜ืขืงืข = 1 ืึทืจืงื™ื™ื•ื•, ืื™ืŸ ื’ืึทื ืฅ ืžื™ืจ ื”ืึธื‘ืŸ ืขื˜ืœืขื›ืข ืžื™ืœื™ืึธืŸ ืึทืจืงื™ื™ื•ื•ื– ืžื™ื˜ ืงืœื™ื™ืŸ ื˜ืขืงืขืก, ืื•ืŸ ื ื™ืฉื˜ ืขื˜ืœืขื›ืข ื”ื•ื ื“ืขืจื˜ ืžื™ืœื™ืึธืŸ ื˜ืขืงืขืก. ืื•ืŸ ืึทืœืข ื“ืขื ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื’ืึธืจ, ืึธืŸ ืงื™ื™ืŸ ืกืงืจื™ืคึผืก ืึธื“ืขืจ ืคึผืึทื˜ื™ื ื’ ื˜ืขืงืขืก ืื™ืŸ ื˜ืึทืจ / ืคืึทืจืฉืœืขืกืœืขืŸ ืึทืจืงื™ื™ื•ื•ื–.

ืื™ืš ื•ื•ืขืœ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื”ืึทืœื˜ืŸ ืขืก ืงื•ืจืฅ, ืื™ืš ืึทื ื˜ืฉื•ืœื“ื™ืงืŸ ืื™ืŸ ืฉื˜ื™ื™ึทื’ืŸ ืื•ื™ื‘ ื“ื™ ืคึผืึธืกื˜ืŸ ืื™ื– ืœืึทื ื’.

ืขืก ืึทืœืข ืื ื’ืขื”ื•ื™ื‘ืŸ ืžื™ื˜ ื“ืขื ืคืึทืงื˜ ืึทื– ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ื’ืขืคึฟื™ื ืขืŸ ืึท ืคึผืึทืกื™ืง ืกืขืจื•ื•ืขืจ ืื™ืŸ ื“ืขืจ ื•ื•ืขืœื˜ ื•ื•ืึธืก ืงืขืŸ ืจืึทื˜ืขื•ื•ืขืŸ ื“ืึทื˜ืŸ ื‘ืืงื•ืžืขืŸ ื“ื•ืจืš ื“ื™ ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœ ื’ืœื™ื™ึทืš ืื™ืŸ ืึทืจืงื™ื™ื•ื•ื–, ืึธืŸ ื“ื™ ื“ื™ืกืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ื˜ืึธื›ื™ืง ืื™ืŸ ืงืึทื ื•ื•ืขื ืฉืึทื ืึทืœ ืึทืจืงื™ื™ื•ื•ื– ืื•ืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืกื˜ืึธืจื™ื“ื–ืฉ. ืื•ืŸ ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื“ืขืจ ื–ื•ื›ืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจ ืึธืจื™ื’ื™ืŸ ืงื ื•ื™ืœ ืคื•ืŸ 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 ืงื‘. ืึทื– ืื™ื–, ืคึฟืึทืจ ื˜ืขืงืขืก ืคื•ืŸ 3, 10 ืึธื“ืขืจ 30 ืงื‘ ืื™ืŸ ื’ืจื™ื™ืก, 64 ืงื‘ ื–ืขื ืขืŸ ืคืืจืœืื ื’ื˜ ืื•ื™ืฃ ื“ื™ืกืง. ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืึท ืคืขืจื˜ืœ ืคื•ืŸ ืึท ื‘ื™ืœื™ืึธืŸ ื˜ืขืงืขืก, ืžื™ืจ ืคืึทืจืœื™ืจืŸ 2-10 ื˜ืขืจืึทื‘ื™ื˜ืขืก. ืขืก ื•ื•ืขื˜ ื ื™ื˜ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ืฉืึทืคึฟืŸ ื ื™ื™ึทืข ื˜ืขืงืขืก ื™ื ื“ืขืคืึทื ืึทื˜ืœื™, ื•ื•ื™ื™ึทืœ MooseFS ื”ืื˜ ืึท ื‘ืึทื’ืจืขื ืขืฆื•ื ื’: ื ื™ื˜ ืžืขืจ ื•ื•ื™ 1 ื‘ื™ืœื™ืึธืŸ ืžื™ื˜ ืื™ื™ืŸ ืจืขืคึผืœื™ืงืข ืคื•ืŸ โ€‹โ€‹ื™ืขื“ืขืจ ื˜ืขืงืข.

ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื˜ืขืงืขืก ื™ื ืงืจื™ืกื™ื–, ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื‘ืึทืจืึทืŸ ืื™ื– ื“ืืจืฃ ืคึฟืึทืจ ืžืขื˜ืึทื“ืึทื˜ืึท. ืึธืคื˜ ื’ืจื•ื™ืก ืžืขื˜ืึทื“ืึทื˜ืึท ื“ืึทืžืคึผืก ืื•ื™ืš ื‘ื™ื™ืฉื˜ื™ื™ืขืจืŸ ืฆื• ื“ื™ ื˜ืจืึธื’ืŸ ืื•ืŸ ื˜ืจืขืจ ืคื•ืŸ SSD ื“ืจื™ื™ื•ื•ื–.

wZD ืกืขืจื•ื•ืขืจ. ืžื™ืจ ืฉื˜ืขืœืŸ ื–ืื›ืŸ ืื™ืŸ ืกื“ืจ ืื•ื™ืฃ ื“ื™ ื“ื™ืกืงืก.

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

ืื™ืŸ ื’ืึทื ืฅ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึท ืคืขืจื˜ืœ ืคื•ืŸ ืึท ื‘ื™ืœื™ืึธืŸ ื˜ืขืงืขืก, ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ, ืขืก ื–ืขื ืขืŸ ื‘ืœื•ื™ื– 10 ืžื™ืœื™ืึธืŸ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื– ืœื™ื ืงืก. ืื•ื™ื‘ ืื™ืš ื”ืึธื‘ืŸ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืงืจืึทื ื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื˜ืขืงืข ืกื˜ืจื•ืงื˜ื•ืจ, ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ืขืก ืฆื• ื‘ืขืขืจืขืš 1 ืžื™ืœื™ืึธืŸ ื˜ืขืงืขืก.

ืึทืœืข ืงืœื™ื™ืŸ ื˜ืขืงืขืก ื–ืขื ืขืŸ ืคึผืึทืงื˜ ืื™ืŸ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื–, ื•ื•ืึธืก ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื ืขืžืขืŸ ืคื•ืŸ ื“ื™ ื“ื™ืจืขืงื˜ืขืจื™ื– ืื™ืŸ ื•ื•ืึธืก ื–ื™ื™ ื–ืขื ืขืŸ ืœื™ื’ืŸ, ืื•ืŸ ืึทืœืข ื’ืจื•ื™ืก ื˜ืขืงืขืก ื‘ืœื™ื™ื‘ืŸ ืœืขื‘ืŸ ื“ื™ ืึทืจืงื™ื™ื•ื•ื–; ืขืก ืื™ื– ืงื™ื™ืŸ ืคื•ื ื˜ ืฆื• ืคึผืึทืงืŸ ื–ื™ื™, ื“ืึธืก ืื™ื– ืงื•ืกื˜ืึธืžื™ื–ืึทื‘ืœืข. ืงืœื™ื™ืŸ ื–ืขื ืขืŸ ืึทืจื›ื™ื•ื•, ื’ืจื•ื™ืก ื–ืขื ืขืŸ ืœื™ื ืงืก ืึทื ื˜ืฉื™ื™ื ื“ื–ืฉื“. ื“ืขืจ ืกืขืจื•ื•ืขืจ ืึทืจื‘ืขื˜ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ืžื™ื˜ ื‘ื™ื™ื“ืข.

ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ื™ wZD ืกืขืจื•ื•ืขืจ.

ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’

ื“ืขืจ ืกืขืจื•ื•ืขืจ ืึทืคึผืขืจื™ื™ืฅ ืื•ื ื˜ืขืจ Linux, BSD, Solaris ืื•ืŸ OSX ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ. ืื™ืš ื ืึธืจ ื˜ืขืกื˜ืขื“ ืคึฟืึทืจ ืึทืžื“64 ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ื ื˜ืขืจ ืœื™ื ื•ืงืก, ืึธื‘ืขืจ ืขืก ื–ืึธืœ ืึทืจื‘ืขื˜ืŸ ืคึฟืึทืจ ARM64, PPC64, MIPS64.

ื”ื•ื™ืคึผื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ:

  • Multithreading;
  • ืžื•ืœื˜ื™ืกืขืจื•ื•ืขืจ, ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ ืื•ืŸ ืžืึทืกืข ื‘ืึทืœืึทื ืกื™ื ื’;
  • ืžืึทืงืกื™ืžื•ื ื“ื•ืจื›ื–ืขื™ืงื™ื™ึทื˜ ืคึฟืึทืจ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืึธื“ืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจ;
  • ืฉื˜ื™ืฆื˜ ื”ื˜ื˜ืคึผ ืžืขื˜ื”ืึธื“ืก: ื‘ืึทืงื•ืžืขืŸ, ืงืึธืคึผ, ืฉื˜ืขืœืŸ ืื•ืŸ ื•ื™ืกืžืขืงืŸ;
  • ืงืึธื ื˜ืจืึธืœ ืคื•ืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืฉืจื™ื™ื‘ืŸ ื ืึทื˜ื•ืจ ื“ื•ืจืš ืงืœื™ืขื ื˜ ื›ืขื“ืขืจื–;
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืœืขืงืกืึทื‘ืึทืœ ื•ื•ื™ืจื˜ื•ืึทืœ ืžื—ื ื•ืช;
  • ืฉื˜ื™ืฆืŸ CRC ื“ืึทื˜ืŸ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ื•ื•ืขืŸ ืฉืจื™ื™ื‘ืŸ / ืœื™ื™ืขื ืขืŸ;
  • ื”ืึทืœื‘-ื“ื™ื ืึทืžื™ืฉ ื‘ืึทืคืขืจื– ืคึฟืึทืจ ืžื™ื ื™ืžืึทืœ ื–ื™ืงืึธืจืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืื•ืŸ ืึธืคึผื˜ื™ืžืึทืœ ื ืขืฅ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ื•ื ื™ื ื’;
  • ื“ื™ืคืขืจื“ ื“ืึทื˜ืŸ ืงืึธืžืคึผืึทืงื˜ื™ืึธืŸ;
  • ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืึท ืžื•ืœื˜ื™-ื˜ืจืขื“ืขื“ ืึทืจื˜ืฉื™ื•ื•ืขืจ wZA ืื™ื– ื’ืขืคึฟื™ื ื˜ ืคึฟืึทืจ ืžื™ื™ื’ืจื™ื™ื˜ื™ื ื’ ื˜ืขืงืขืก ืึธืŸ ืกื˜ืึธืคึผืคึผื™ื ื’ ื“ื™ ื“ื™ื ืกื˜.

ืคืึทืงื˜ื™ืฉ ื“ืขืจืคืึทืจื•ื ื’:

ืื™ืš ื”ืึธื‘ืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืื•ืŸ ื˜ืขืกื˜ื™ื ื’ ื“ื™ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืึทืจื˜ืฉื™ื•ื•ืขืจ ืื•ื™ืฃ ืœืขื‘ืŸ ื“ืึทื˜ืŸ ืคึฟืึทืจ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜, ืื™ืฆื˜ ืขืก ืื™ื– ื”ืฆืœื—ื” ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืื•ื™ืฃ ืึท ืงื ื•ื™ืœ ื•ื•ืึธืก ื›ื•ืœืœ 250,000,000 ืงืœื™ื™ืŸ ื˜ืขืงืขืก (ื‘ื™ืœื“ืขืจ) ืœื™ื’ืŸ ืื™ืŸ 15,000,000 ื“ื™ื™ืจืขืงื˜ืขืจื™ื– ืื•ื™ืฃ ื‘ืึทื–ื•ื ื“ืขืจ SATA ื“ืจื™ื™ื•ื•ื–. ื ืงื ื•ื™ืœ ืคื•ืŸ 10 ืกืขืจื•ื•ืขืจืก ืื™ื– ืึทืŸ ืึธืจื™ื’ื™ืŸ ืกืขืจื•ื•ืขืจ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื”ื™ื ื˜ืขืจ ืึท CDN ื ืขืฅ. ืฆื• ื“ื™ื ืขืŸ ืขืก, 2 Nginx ืกืขืจื•ื•ืขืจืก + 2 wZD ืกืขืจื•ื•ืขืจืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜.

ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ื‘ืึทืฉืœื™ืกืŸ ืฆื• ื ื•ืฆืŸ ื“ืขื ืกืขืจื•ื•ืขืจ, ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืงืœื•ื’ ืฆื• ืคึผืœืึทืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืกื˜ืจื•ืงื˜ื•ืจ, ืื•ื™ื‘ ืึธื ื•ื•ืขื ื“ืœืขืš, ืื™ื™ื“ืขืจ ื ื•ืฆืŸ. ืœืึธื–ืŸ ืžื™ืจ ืžืึทื›ืŸ ืึท ืจืขื–ืขืจื•ื•ืึทืฆื™ืข ื’ืœื™ื™ืš ืึทื– ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ื– ื ื™ืฉื˜ ื‘ื“ืขื” ืฆื• ืึธื ืคึผืึทืงืŸ ืึทืœืฅ ืื™ืŸ ืึท 1 ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•.

ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ืขืกื˜ื™ื ื’:

ื“ื™ ืงืœืขื ืขืจืขืจ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ื–ื™ืคึผื˜ ื˜ืขืงืข, ื“ื™ ืคืึทืกื˜ืขืจ GET ืื•ืŸ PUT ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื•ื™ืฃ ืขืก. ื–ืืœ ืก ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ ื’ืึทื ืฅ ืฆื™ื™ื˜ ืคึฟืึทืจ HTTP ืงืœื™ืขื ื˜ ืฉืจื™ื™ื‘ืŸ ืฆื• ืจืขื’ื•ืœืขืจ ื˜ืขืงืขืก ืื•ืŸ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืœื™ื™ืขื ืขืŸ. ืึทืจื‘ืขื˜ ืžื™ื˜ ื˜ืขืงืขืก ืคื•ืŸ ืกื™ื–ืขืก 32 ืงื‘, 256 ืงื‘, 1024 ืงื‘, 4096 ืงื‘ ืื•ืŸ 32768 ืงื‘ ืื™ื– ืงืึทืžืคึผืขืจื“.

ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื–, ื“ื™ ื“ืึทื˜ืŸ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ืคื•ืŸ ื™ืขื“ืขืจ ื˜ืขืงืข ืื™ื– ืึธืคึผื’ืขืฉื˜ืขืœื˜ (CRC ืื™ื– ื’ืขื ื™ืฆื˜), ืื™ื™ื“ืขืจ ืจืขืงืึธืจื“ื™ื ื’ ืื•ืŸ ืื•ื™ืš ื ืึธืš ืจืขืงืึธืจื“ื™ื ื’, ืื•ื™ืฃ-ื“ืขื-ืคืœื™ืขืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืจื™ืงืึทืœืงื™ืึทืœื™ื™ืฉืึทืŸ ืึทืงืขืจื–, ื“ืึธืก ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ื™ื ื˜ืจืึทื“ื•ืกื™ื– ื“ื™ืœื™ื™ื–, ืึธื‘ืขืจ ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ื“ืึทื˜ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜.

ืื™ืš ื’ืขืคื™ืจื˜ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ืขืกืฅ ืื•ื™ืฃ SSD ื“ืจื™ื™ื•ื•ื–, ื•ื•ื™ื™ึทืœ ื˜ืขืกืฅ ืื•ื™ืฃ SATA ื“ืจื™ื™ื•ื•ื– ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ื™ึทื–ืŸ ืึท ืงืœืึธืจ ื—ื™ืœื•ืง.

ื’ืจืึทืคืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกื˜ื™ื ื’ ืจืขื–ื•ืœื˜ืึทื˜ืŸ:

ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’
ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ืคึฟืึทืจ ืงืœื™ื™ืŸ ื˜ืขืงืขืก ื“ื™ ื—ื™ืœื•ืง ืื™ืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ืฆื™ื™ื˜ ืฆื•ื•ื™ืฉืŸ ืึทืจื˜ืฉื™ื•ื•ืขื“ ืื•ืŸ ื ื™ื˜-ืึทืจืงื™ื™ื•ื•ื“ ื˜ืขืงืขืก ืื™ื– ืงืœื™ื™ืŸ.

ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึท ื’ืึธืจ ืึทื ื“ืขืจืฉ ื‘ื™ืœื“ ื•ื•ืขืŸ ื˜ืขืกื˜ื™ื ื’ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืฉืจื™ื™ื‘ืŸ ื˜ืขืงืขืก ืคื•ืŸ 32 ืžื‘ ืื™ืŸ ื’ืจื™ื™ืก:

ื™ืคืขืงื˜ื™ื•ื•ืœื™ ืงืจืึธื ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืงืœื™ื™ืŸ ื˜ืขืงืขืก. ื–ื™ืš-ื”ืึธืกื˜ืขื“ ืœื™ื™ื–ื•ื ื’

ื“ื™ ืฆื™ื™ื˜ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ืœื™ื™ืขื ืขืŸ ื˜ืขืงืขืก ืื™ื– 5-25 ืžื™ื–. ืžื™ื˜ ืจืขืงืึธืจื“ื™ื ื’, ื“ื™ ื˜ื™ื ื’ื– ื–ืขื ืขืŸ ืขืจื’ืขืจ, ื“ื™ ื—ื™ืœื•ืง ืื™ื– ื•ื•ืขื’ืŸ 150 ืžื™ื–. ืึธื‘ืขืจ ืื™ืŸ ื“ืขื ืคืึทืœ ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืฆื•ืคึฟืขืœื™ืงืขืจ ื’ืจื•ื™ืก ื˜ืขืงืขืก; ืขืก ืื™ื– ืคืฉื•ื˜ ืงื™ื™ืŸ ืคื•ื ื˜ ืฆื• ื˜ืึธืŸ ื“ืึธืก; ื–ื™ื™ ืงืขื ืขืŸ ืœืขื‘ืŸ ืกืขืคึผืขืจืึทื˜ืœื™ ืคื•ืŸ ื“ื™ ืึทืจืงื™ื™ื•ื•ื–.

* ื˜ืขืงื ื™ืงืœื™, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ืขื ืกืขืจื•ื•ืขืจ ืคึฟืึทืจ ื˜ืึทืกืงืก ืจื™ืงื•ื•ื™ื™ืจื™ื ื’ NoSQL.

ื™ืงืขืจื“ื™ืง ืžืขื˜ื”ืึธื“ืก ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ wZD ืกืขืจื•ื•ืขืจ:

ืœืึธื•ื“ื™ื ื’ ืึท ืจืขื’ื•ืœืขืจ ื˜ืขืงืข:

curl -X PUT --data-binary @test.jpg http://localhost/test/test.jpg

ื•ืคึผืœืึธืึทื“ื™ื ื’ ืึท ื˜ืขืงืข ืฆื• ื“ื™ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื• (ืื•ื™ื‘ ื“ื™ ืกืขืจื•ื•ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ 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

ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ืึท ื˜ืขืงืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื• (ื’ืขืฆื•ื•ื•ื ื’ืขืŸ):

curl -o test.jpg -H "FromArchive: 1" http://localhost/test/test.jpg

ื“ื™ืกืงืจื™ืคึผืฉืึทื ื– ืคื•ืŸ ืื ื“ืขืจืข ืžืขื˜ื”ืึธื“ืก ื–ืขื ืขืŸ ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

wZD ื“ืึธืงื•ืžืขื ื˜ืึทื˜ื™ืึธืŸ
wZA ื“ืึธืงื•ืžืขื ื˜ืึทื˜ื™ืึธืŸ

ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ื‘ืœื•ื™ื– ื“ื™ ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœ; ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื”ื˜ื˜ืคึผืก ื ืึธืš. ื“ื™ POST ืื•ืคึฟืŸ ืื™ื– ืื•ื™ืš ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜ (ืขืก ืื™ื– ื ืึธืš ื ื™ืฉื˜ ื‘ืึทืฉืœืึธืกืŸ ืฆื™ ืขืก ืื™ื– ื“ืืจืฃ ืึธื“ืขืจ ื ื™ืฉื˜).

ื•ื•ืขืจ ืกืข ื“ื™ื’ืก ืื™ืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“ ื•ื•ืขื˜ ื’ืขืคึฟื™ื ืขืŸ ื‘ื•ื˜ื˜ืขืจืกืงืึธื˜ื˜ืฉ ื“ืึธืจื˜, ื ื™ื˜ ืึทืœืขืžืขืŸ ืœื™ื™ืงืก ืขืก, ืึธื‘ืขืจ ืื™ืš ื”ืื˜ ื ื™ืฉื˜ ื‘ื™ื ื“ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืงืึธื“ ืฆื• ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ืคื•ืŸ ื“ื™ ื•ื•ืขื‘ ืคืจื™ื™ืžื•ื•ืขืจืง, ืึทื—ื•ืฅ ืคึฟืึทืจ ื“ื™ ื™ื‘ืขืจืจื™ื™ึทืกืŸ ื”ืึทื ื“ืœืขืจ, ืึทื–ื•ื™ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ืื™ืš ืงืขื ืขืŸ ื’ืขืฉื•ื•ื™ื ื“ ืจื™ืจื™ื™ื˜ ืขืก ืคึฟืึทืจ ื›ึผืžืขื˜ ืงื™ื™ืŸ ืžืึธื˜ืึธืจ.

ืฆื• ื˜ื•ื”ืŸ:

  • ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืจืขืคึผืœืึทืงื™ื™ื˜ืขืจ ืื•ืŸ ื“ื™ืกื˜ืจื™ื‘ื™ืึทื˜ืขืจ + ื’ืขืึธ ืคึฟืึทืจ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื ื•ืฆืŸ ืื™ืŸ ื’ืจื•ื™ืก ืกื™ืกื˜ืขืžืขืŸ ืึธืŸ ืงื ื•ื™ืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ (ืึทืœืฅ ืคึฟืึทืจ ืึทื“ืึทืœืฅ)
  • ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื’ืึทื ืฅ ืคืึทืจืงืขืจื˜ ืึธืคึผื–ื•ืš ืคื•ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท ืื•ื™ื‘ ืขืก ืื™ื– ื’ืึธืจ ืคืึทืจืคืึทืœืŸ (ืื•ื™ื‘ ื ื™ืฆืŸ ืึท ื“ื™ืกื˜ืจื™ื‘ื™ืึทื˜ืขืจ)
  • ื’ืขื‘ื•ื™ืจืŸ ืคึผืจืึธื˜ืึธืงืึธืœ ืคึฟืึทืจ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื ืขืฅ ืงืึทื ืขืงืฉืึทื ื– ืื•ืŸ ื“ืจื™ื•ื•ืขืจืก ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ
  • ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืคึผืึทืกืึทื‘ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ื ื™ืฆืŸ ื“ื™ NoSQL ืงืึธืžืคึผืึธื ืขื ื˜
  • ืงืึทืžืคึผืจืขืฉืึทื ื– ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืคึผืก (ื’zip, zstd, ืกื ืึทืคึผื™) ืคึฟืึทืจ ื˜ืขืงืขืก ืึธื“ืขืจ ื•ื•ืึทืœื•ืขืก ื™ืŸ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื– ืื•ืŸ ืคึฟืึทืจ ืจืขื’ื•ืœืขืจ ื˜ืขืงืขืก
  • ืขื ืงืจื™ืคึผืฉืึทืŸ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืคึผืก ืคึฟืึทืจ ื˜ืขืงืขืก ืึธื“ืขืจ ื•ื•ืึทืœื•ืขืก ื™ืŸ ื‘ืึธืœื˜ ืึทืจืงื™ื™ื•ื•ื– ืื•ืŸ ืคึฟืึทืจ ืจืขื’ื•ืœืขืจ ื˜ืขืงืขืก
  • ื“ื™ืœื™ื™ื“ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ื•ื•ื™ื“ืขื ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื•ื™ืฃ ื’ืคึผื•

ืื™ืš ื”ืึธื‘ ืึทืœืฅ, ืื™ืš ื”ืึธืคึฟืŸ ืึทื– ื“ืขืจ ืกืขืจื•ื•ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืขืžืขืฆืขืจ, BSD-3 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ื˜ืึธืคึผืœ ืงืึทืคึผื™ืจื™ื™ื˜, ื•ื•ื™ื™ึทืœ ืื•ื™ื‘ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงื™ื™ืŸ ืคื™ืจืžืข ื•ื•ื• ืื™ืš ืึทืจื‘ืขื˜, ื“ื™ ืกืขืจื•ื•ืขืจ ื•ื•ืึธืœื˜ ื ื™ืฉื˜ ื’ืขื•ื•ืขืŸ ื’ืขืฉืจื™ื‘ืŸ. ืื™ืš ื‘ื™ืŸ ื“ืขืจ ื‘ืœื•ื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขืจ. ืื™ืš ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื“ืึทื ืงื‘ืึทืจ ืคึฟืึทืจ ืงื™ื™ืŸ ื‘ืึทื’ื– ืื•ืŸ ืฉื˜ืจื™ืš ืจื™ืงื•ื•ืขืก ืื™ืจ ื’ืขืคึฟื™ื ืขืŸ.

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’