เบฅเบธเป‰เบ™เบ—เบณเบญเบดเบ”เบ‚เบญเบ‡ wZD 1.0.0, เป€เบŠเบตเบšเป€เบงเบตเบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ

เบกเบตเปƒเบซเป‰ เบชเบฐเบšเบฑเบšเบ—เปเบฒเบญเบดเบ” wZD 1.0.0 - เป€เบŠเบตเบšเป€เบงเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™, เป€เบŠเบดเปˆเบ‡เบˆเบฒเบเบžเบฒเบเบ™เบญเบเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ WebDAV เบ›เบปเบเบเบฐเบ•เบด. เบชเบฐเบšเบฑเบšเบ”เบฑเบ”เปเบเป‰เปเบกเปˆเบ™เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ BoltDB. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Go เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

Server เบญเบฐเบ™เบธเบเบฒเบ” เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ›เบปเบเบเบฐเบ•เบดเบซเบผเบทเป€เบ›เบฑเบ™เบเบธเปˆเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบฅเบฑเบญเบเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ. เบเบธเปˆเบกเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ wZD เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ›เบฐเบกเบฒเบ™ 250 เบฅเป‰เบฒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบง 15 เบฅเป‰เบฒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบเบธเปˆเบก. MooseFS.

wZD เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเป‰เบฒเบ (เบฎเบงเบšเบฎเบงเบก) เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš BoltDB เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบˆเบเบขเบฒเบเป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ (เบซเบผเบทเบงเบฒเบ‡เป„เบŸเบฅเปŒเปƒเบ™เปเบŸเป‰เบกเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ PUT), เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบฅเบฐ เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ metadata. เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ•เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบˆเบฒเบเปเบŸเป‰เบก Bolt. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เปเบˆเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบˆเปเบฒเบเบฑเบ”เป‚เบ”เบเบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™ inodes เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

เบฅเบธเป‰เบ™เบ—เบณเบญเบดเบ”เบ‚เบญเบ‡ wZD 1.0.0, เป€เบŠเบตเบšเป€เบงเบตเบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ

เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ NoSQL เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ / เบกเบนเบ™เบ„เปˆเบฒ (เบกเบต sharding เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต) เบซเบผเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเป€เบญเบเบฐเบชเบฒเบ™ html เบซเบผเบท json เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบเปˆเบญเบ™เบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เปƒเบ™เบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบเบฒเบ™เบชเบปเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเปƒเบŠเป‰ Bolt archives เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบทเป‰เบ™เบ‚เบญเบ‡ latency เบ›เบฐเบกเบฒเบ™ 20-25% เป€เบกเบทเปˆเบญเบญเปˆเบฒเบ™เปเบฅเบฐ 40-50% เป€เบกเบทเปˆเบญเบ‚เบฝเบ™. เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹เบเบงเปˆเบฒโ€‹, เบ„เบงเบฒเบกโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™ latency เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹.

เบฅเบธเป‰เบ™เบ—เบณเบญเบดเบ”เบ‚เบญเบ‡ wZD 1.0.0, เป€เบŠเบตเบšเป€เบงเบตเบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ

เบ•เบปเป‰เบ™โ€‹เบ•เป เป‚เบญเบเบฒเบ”:

  • Multithreading;
  • Multiserver, เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”;
  • เบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบชเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบซเบผเบทเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ;
  • เบงเบดเบ—เบตเบเบฒเบ™ HTTP เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบš: GET, HEAD, PUT เปเบฅเบฐ DELETE;
  • เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบžเบถเบ”เบ•เบดเบเปเบฒเบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบœเปˆเบฒเบ™เบซเบปเบงเบฅเบนเบเบ„เป‰เบฒ;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš virtual เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™ CRC เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เบฝเบ™ / เบญเปˆเบฒเบ™;
  • buffers เป€เบ„เบดเปˆเบ‡เป„เบ”เบ™เบฒเบกเบดเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”;
  • เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ‚เปเป‰เบกเบนเบ™เบŠเบฑเบเบŠเป‰เบฒ;
  • เบ™เบญเบโ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹, archiver เบซเบผเบฒเบโ€‹เบเบฐโ€‹เบ—เบนเป‰โ€‹เปเบกเปˆเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹ wZA เป€เบžเบทเปˆเบญเบเป‰เบฒเบเป„เบŸเบฅเปŒเป„เบ›เบซเบฒ Bolt archives เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบขเบธเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบญเบเบ›เบฐเบˆเบธเบšเบฑเบ™: เบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Multipart, เบงเบดเบ—เบตเบเบฒเบ™ POST, HTTPS protocol, เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก, เบเบฒเบ™เบฅเบถเบšเบšเบฑเบ™เบŠเบตเบ„เบทเบ™เปƒเบซเบกเปˆ, เบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบœเปˆเบฒเบ™ WebDAV เบซเบผเบท FUSE, เป„เบŸเบฅเปŒ เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เบžเบฒเบเปƒเบ•เป‰เบœเบนเป‰เปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบ”เบฝเบง. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบชเบฐเป€เบžเบฒเบฐ เปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบฐเบšเบปเบš Little Endian เปเบฅเบฐ Big Endian. เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป€เบŠเบตเบšเป€เบงเบต wZD เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™ HTTP, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบตเบ”เบ•เบปเบงเบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบŠเบตเป‰เบšเบญเบเบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเป€เบŠเบฑเปˆเบ™ nginx เปเบฅเบฐ haproxy.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™