Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

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

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

ืžื”ืžืืžืจื™ื ื”ืงื•ื“ืžื™ื ืฉืœื ื• (1, 2) ืืชื” ื™ื›ื•ืœ ืœื’ืœื•ืช ืฉืขื“ ื–ืžืŸ ืžื” ืืกืคื ื• ืกื™ืžื ื™ื ื‘ืืžืฆืขื•ืช ื‘ืจื•ื‘ืง. ื–ื” ื›ืชื•ื‘ ื‘-C. ืžื ืงื•ื“ืช ืžื‘ื˜ ืฉืœ ืงื•ื“, ื–ื” ืคืฉื•ื˜ ื›ืžื• ืชืงืข (ื–ื” ื—ืฉื•ื‘ ื›ืฉืจื•ืฆื™ื ืœืชืจื•ื) ื•ื”ื›ื™ ื—ืฉื•ื‘, ื”ื•ื ืžื˜ืคืœ ื‘ื ืคื—ื™ื ืฉืœื ื• ืฉืœ 2 ืžื™ืœื™ื•ืŸ ืžื“ื“ื™ื ืœืฉื ื™ื™ื” (MPS) ื‘ืฉื™ื ื‘ืœื™ ืฉื•ื ื‘ืขื™ื•ืช. ื”ืชื™ืขื•ื“ ืžืฆื™ื™ืŸ ืชืžื™ื›ื” ื‘-4 ืžื™ืœื™ื•ืŸ MPS ืขื ื›ื•ื›ื‘ื™ืช. ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉืชืงื‘ืœ ืืช ื”ื ืชื•ืŸ ื”ื ืงื•ื‘ ืื ืชื’ื“ื™ืจ ืืช ื”ืจืฉืช ื‘ืฆื•ืจื” ื ื›ื•ื ื” ื‘ืœื™ื ื•ืงืก. (ืื ื—ื ื• ืœื ื™ื•ื“ืขื™ื ื›ืžื” MPS ืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ืื ืชืฉืื™ืจ ืืช ื”ืจืฉืช ื›ืคื™ ืฉื”ื™ื). ืœืžืจื•ืช ื”ื™ืชืจื•ื ื•ืช ื”ืœืœื•, ื”ื™ื• ืœื ื• ื›ืžื” ืชืœื•ื ื•ืช ืจืฆื™ื ื™ื•ืช ืขืœ ื‘ืจื‘ืง.

ื˜ืขื ื” 1. Github, ืžืคืชื—ืช ื”ืคืจื•ื™ืงื˜, ื”ืคืกื™ืงื” ืœืชืžื•ืš ื‘ื•: ืคืจืกื•ื ืชื™ืงื•ื ื™ื ื•ืชื™ืงื•ื ื™ื, ืงื‘ืœืช ื™ื—ืกื™ ืฆื™ื‘ื•ืจ ืฉืœื ื• ื•(ืœื ืจืง ืฉืœื ื•). ื‘ื—ื•ื“ืฉื™ื ื”ืื—ืจื•ื ื™ื (ืื™ ืฉื ืžืคื‘ืจื•ืืจ-ืžืจืฅ 2018) ื”ืชื—ื“ืฉื” ื”ืคืขื™ืœื•ืช, ืืš ืœืคื ื™ ื›ืŸ ื”ื™ื™ืชื” ื›ืžืขื˜ ืฉื ืชื™ื™ื ืฉืœ ืฉืงื˜ ืžื•ื—ืœื˜. ื‘ื ื•ืกืฃ, ื”ืคืจื•ื™ืงื˜ ื ืžืฆื ื‘ืคื™ืชื•ื— ืœืฆืจื›ื™ Gihub ืคื ื™ืžื™ื™ื, ืฉืขืœื•ืœ ืœื”ืคื•ืš ืœืžื›ืฉื•ืœ ืจืฆื™ื ื™ ื‘ืคื ื™ ื”ืฆื’ืช ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช.

ื˜ืขื ื” 2. ื“ื™ื•ืง ืฉืœ ื—ื™ืฉื•ื‘ื™ื. ืจื•ื‘ืง ืื•ืกืฃ ืกืš ืฉืœ 65536 ืขืจื›ื™ื ืœืฆื‘ื™ืจื”. ื‘ืžืงืจื” ืฉืœื ื•, ืขื‘ื•ืจ ื—ืœืง ืžื”ืžื“ื“ื™ื, ื‘ืžื”ืœืš ืชืงื•ืคืช ื”ืฆื‘ื™ืจื” (30 ืฉื ื™ื•ืช), ืขืฉื•ื™ื™ื ืœื”ื’ื™ืข ื”ืจื‘ื” ื™ื•ืชืจ ืขืจื›ื™ื (1 ื‘ืฉื™ื). ื›ืชื•ืฆืื” ืžื“ื’ื™ืžื” ื–ื•, ืขืจื›ื™ ื”ืžืงืกื™ืžื•ื ื•ื”ืžื™ื ื™ืžื•ื ื ืจืื™ื ื—ืกืจื™ ืชื•ืขืœืช. ืœื“ื•ื’ืžื”, ื›ืš:

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”
ื›ืžื• ืฉื–ื” ื”ื™ื”

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”
ืื™ืš ื–ื” ื”ื™ื” ืฆืจื™ืš ืœื”ื™ื•ืช

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

ื•ืœื‘ืกื•ืฃ, ืชื‘ื™ืขื” X. ื‘ื–ืžืŸ ื›ืชื™ื‘ืช ืฉื•ืจื•ืช ืืœื”, ืื ื• ืžื•ื›ื ื™ื ืœื”ืฆื™ื’ ืื•ืชื• ืœื›ืœ 14 ื”ื”ื˜ืžืขื•ืช ื”ืกื˜ื˜ื™ืกื˜ื™ื•ืช ื”ืคื•ืขืœื•ืช ืคื—ื•ืช ืื• ื™ื•ืชืจ ืฉื”ืฆืœื—ื ื• ืœืžืฆื•ื. ื‘ื•ืื• ื ื“ืžื™ื™ืŸ ืฉืชืฉืชื™ืช ื‘ื•ื“ื“ืช ื’ื“ืœื” ื›ืœ ื›ืš ืขื“ ืฉืงื‘ืœืช 4 ืžื™ืœื™ื•ืŸ MPS ื›ื‘ืจ ืœื ืžืกืคื™ืงื”. ืื• ืืคื™ืœื• ืื ื–ื” ืขื“ื™ื™ืŸ ืœื ื’ื“ืœ, ืื‘ืœ ื”ืžื“ื“ื™ื ื›ื‘ืจ ื›ืœ ื›ืš ื—ืฉื•ื‘ื™ื ืœืš ืฉืืคื™ืœื• ืฆื ื™ื—ื” ืงืฆืจื” ืฉืœ 2-3 ื“ืงื•ืช ื‘ื˜ื‘ืœืื•ืช ื›ื‘ืจ ื™ื›ื•ืœื” ืœื”ืคื•ืš ืœืงืจื™ื˜ื™ืช ื•ืœื’ืจื•ื ืœื”ืชืงืคื™ ื“ื™ื›ืื•ืŸ ื‘ืœืชื™ ืขื‘ื™ืจื™ื ื‘ืงืจื‘ ืžื ื”ืœื™ื. ืžืื—ืจ ืฉื˜ื™ืคื•ืœ ื‘ื“ื™ื›ืื•ืŸ ื”ื•ื ืžืฉื™ืžื” ื—ืกืจืช ืชื•ื“ื”, ื™ืฉ ืฆื•ืจืš ื‘ืคืชืจื•ื ื•ืช ื˜ื›ื ื™ื™ื.

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

ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื” ืœื ื• ืžืงื•ื ืœืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื”, ื”ื—ืœื˜ื ื• ืœื”ืชื—ื™ืœ ืขื ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช. "ืขืœ ืื•ื“ื•ืช! ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช! ื–ื” ืคืฉื•ื˜, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืขืฉื•ืช ืืช ื–ื”", ื—ืฉื‘ื ื• ื•ื”ืฉืงื ื• 2 ืฉืจืชื™ื, ื•ื”ืขืœื™ื ื• ืขื•ืชืง ืฉืœ brubeck ืขืœ ื›ืœ ืื—ื“ ืžื”ื. ืœืฉื ื›ืš, ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœื”ืขืชื™ืง ืชืขื‘ื•ืจื” ืขื ืžื“ื“ื™ื ืœืฉื ื™ ื”ืฉืจืชื™ื ื•ืืคื™ืœื• ืœื›ืชื•ื‘ ื‘ืฉื‘ื™ืœ ื–ื” ืฉื™ืจื•ืช ืงื˜ืŸ. ืคืชืจื ื• ืืช ื‘ืขื™ื™ืช ืกื‘ื™ืœื•ืช ื”ืชืงืœื•ืช ืขื ื–ื”, ืื‘ืœ... ืœื ืžืžืฉ ื˜ื•ื‘. ื‘ื”ืชื—ืœื” ื”ื›ืœ ื ืจืื” ื ื”ื“ืจ: ื›ืœ ื‘ืจื‘ืง ืื•ืกืฃ ื’ืจืกื” ืžืฉืœื• ืฉืœ ืฆื‘ื™ืจื”, ื›ื•ืชื‘ ื ืชื•ื ื™ื ืœ-Graphite ืคืขื ื‘-30 ืฉื ื™ื•ืช, ืžื—ืœื™ืฃ ืืช ื”ืžืจื•ื•ื— ื”ื™ืฉืŸ (ื–ื” ื ืขืฉื” ื‘ืฆื“ ืฉืœ ื’ืจืคื™ื˜). ืื ืฉืจืช ืื—ื“ ื ื›ืฉืœ ืคืชืื•ื, ืชืžื™ื“ ื™ืฉ ืœื ื• ืฉืจืช ืฉื ื™ ืขื ืขื•ืชืง ืžืฉืœื• ืฉืœ ื”ื ืชื•ื ื™ื ื”ืžืฆื˜ื‘ืจื™ื. ืื‘ืœ ื”ื ื” ื”ื‘ืขื™ื”: ืื ื”ืฉืจืช ื ื›ืฉืœ, "ืžืกื•ืจ" ืžื•ืคื™ืข ืขืœ ื”ื’ืจืคื™ื. ื–ืืช ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื”ืžืจื•ื•ื—ื™ื ืฉืœ 30 ืฉื ื™ื•ืช ืฉืœ ื‘ืจื‘ืง ืื™ื ื ืžืกื•ื ื›ืจื ื™ื, ื•ื‘ืจื’ืข ื”ืชืจืกืงื•ืช ืื—ื“ ืžื”ื ืื™ื ื• ืžื•ื—ืœืฃ. ื›ืฉื”ืฉืจืช ื”ืฉื ื™ ืžืชื—ื™ืœ, ืื•ืชื• ื“ื‘ืจ ืงื•ืจื”. ื“ื™ ื ืกื‘ืœ, ืื‘ืœ ืื ื™ ืจื•ืฆื” ื™ื•ืชืจ ื˜ื•ื‘! ื’ื ื‘ืขื™ื™ืช ื”ืžื“ืจื’ื™ื•ืช ืœื ื ืขืœืžื”. ื›ืœ ื”ืžื“ื“ื™ื ืขื“ื™ื™ืŸ "ืขืคื™ื" ืœืฉืจืช ื‘ื•ื“ื“, ื•ืœื›ืŸ ืื ื• ืžื•ื’ื‘ืœื™ื ืœืื•ืชื 2-4 ืžื™ืœื™ื•ืŸ MPS, ืชืœื•ื™ ื‘ืจืžืช ื”ืจืฉืช.

ืื ืืชื” ื—ื•ืฉื‘ ืงืฆืช ืขืœ ื”ื‘ืขื™ื” ื•ื‘ื• ื‘ื–ืžืŸ ืœื—ืคื•ืจ ืฉืœื’ ืขื ื—ืคื™ืจื”, ื™ื™ืชื›ืŸ ืฉื”ืจืขื™ื•ืŸ ื”ื‘ืจื•ืจ ื”ื‘ื ื™ืขืœื” ื‘ืจืืฉืš: ืืชื” ืฆืจื™ืš ืกื˜ื˜ื™ืกื˜ื™ืงื” ืฉื™ื›ื•ืœื” ืœืขื‘ื•ื“ ื‘ืžืฆื‘ ืžื‘ื•ื–ืจ. ื›ืœื•ืžืจ, ื›ื–ื” ืฉืžื™ื™ืฉื ืกื ื›ืจื•ืŸ ื‘ื™ืŸ ืฆืžืชื™ื ื‘ื–ืžืŸ ื•ื‘ืžื“ื“ื™ื. "ื›ืžื•ื‘ืŸ, ืคืชืจื•ืŸ ื›ื–ื” ื›ื ืจืื” ื›ื‘ืจ ืงื™ื™ื," ืืžืจื ื• ื•ื”ืœื›ื ื• ืœื’ื•ื’ืœ... ื•ื”ื ืœื ืžืฆืื• ื›ืœื•ื. ืœืื—ืจ ืฉืขื‘ืจืชื™ ืขืœ ื”ืชื™ืขื•ื“ ืขื‘ื•ืจ ื ืชื•ื ื™ื ืกื˜ื˜ื™ืกื˜ื™ื™ื ืฉื•ื ื™ื (https://github.com/etsy/statsd/wiki#server-implementations ื ื›ื•ืŸ ืœ-11.12.2017 ื‘ื“ืฆืžื‘ืจ XNUMX), ืœื ืžืฆืื ื• ืฉื•ื ื“ื‘ืจ. ื›ื›ืœ ื”ื ืจืื”, ืœื ื”ืžืคืชื—ื™ื ื•ืœื ื”ืžืฉืชืžืฉื™ื ืฉืœ ื”ืคืชืจื•ื ื•ืช ื”ืœืœื• ืขื“ื™ื™ืŸ ื ืชืงืœื• ื‘ื›ืœ ื›ืš ื”ืจื‘ื” ืžื“ื“ื™ื, ืื—ืจืช ื”ื ื‘ื”ื—ืœื˜ ื”ื™ื• ืžืขืœื™ื ืžืฉื”ื•.

ื•ืื– ื ื–ื›ืจื ื• ื‘-"toy" statsd - bioyino, ืฉื ื›ืชื‘ ื‘ื”ืืงืชื•ืŸ Just for Fun (ืฉื ื”ืคืจื•ื™ืงื˜ ื ื•ืฆืจ ืขืœ ื™ื“ื™ ื”ืชืกืจื™ื˜ ืœืคื ื™ ืชื—ื™ืœืช ื”ื”ืืงืชื•ืŸ) ื•ื”ื‘ื ื• ืฉืื ื—ื ื• ื–ืงื•ืงื™ื ื‘ื“ื—ื™ืคื•ืช ืœืกื˜ื˜ื™ืกื˜ื™ืงื” ืžืฉืœื ื•. ื‘ืฉื‘ื™ืœ ืžื”?

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

ืขืœ ืžื” ืœื›ืชื•ื‘? ื›ืžื•ื‘ืŸ, ื‘ืจื•ืกื˜. ืœืžื”?

  • ื›ื™ ื›ื‘ืจ ื”ื™ื” ืคืชืจื•ืŸ ืื‘ ื˜ื™ืคื•ืก,
  • ื›ื™ ืžื—ื‘ืจ ื”ืžืืžืจ ื›ื‘ืจ ื”ื›ื™ืจ ืืช Rust ื‘ืื•ืชื” ืชืงื•ืคื” ื•ื”ื™ื” ืœื”ื•ื˜ ืœื›ืชื•ื‘ ื‘ื• ืžืฉื”ื• ืœื”ืคืงื” ืขื ื”ื”ื–ื“ืžื ื•ืช ืœืฉื™ื ืื•ืชื• ื‘ืงื•ื“ ืคืชื•ื—,
  • ืžื›ื™ื•ื•ืŸ ืฉืฉืคื•ืช ืขื GC ืื™ื ืŸ ืžืชืื™ืžื•ืช ืœื ื• ื‘ื’ืœืœ ืื•ืคื™ ื”ืชืขื‘ื•ืจื” ื”ืžืชืงื‘ืœืช (ื›ืžืขื˜ ื‘ื–ืžืŸ ืืžืช) ื•ื”ืคืกืงื•ืช GC ื”ืŸ ื›ืžืขื˜ ื‘ืœืชื™ ืงื‘ื™ืœื•ืช,
  • ื›ื™ ืืชื” ืฆืจื™ืš ื‘ื™ืฆื•ืขื™ื ืžืงืกื™ืžืœื™ื™ื ื‘ื”ืฉื•ื•ืื” ืœ-C
  • ื›ื™ Rust ืžืกืคืงืช ืœื ื• ื‘ืžืงื‘ื™ืœื™ื•ืช ื—ืกืจืช ืคื—ื“, ื•ืื ื”ื™ื™ื ื• ืžืชื—ื™ืœื™ื ืœื›ืชื•ื‘ ืืช ื–ื” ื‘-C/C++, ื”ื™ื™ื ื• ื’ื•ืจืจื™ื ืืคื™ืœื• ื™ื•ืชืจ ื ืงื•ื“ื•ืช ืชื•ืจืคื”, ื”ืฆืคืช ื—ื•ืฆืฅ, ืชื ืื™ ื’ื–ืข ื•ืžื™ืœื™ื ืžืคื—ื™ื“ื•ืช ืื—ืจื•ืช ืžื‘ืจื•ื‘ืง.

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

ื”ื–ืžืŸ ืขื‘ืจ...

ืœื‘ืกื•ืฃ, ืœืื—ืจ ืžืกืคืจ ื ื™ืกื™ื•ื ื•ืช ื›ื•ืฉืœื™ื, ื’ืจืกืช ื”ืขื‘ื•ื“ื” ื”ืจืืฉื•ื ื” ื”ื™ื™ืชื” ืžื•ื›ื ื”. ืžื” ืงืจื”? ื–ื” ืžื” ืฉืงืจื”.

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

ื›ืœ ืฆื•ืžืช ืžืงื‘ืœ ืกื˜ ืžื“ื“ื™ื ืžืฉืœื• ื•ืฆื•ื‘ืจ ืื•ืชื, ื•ืื™ื ื• ืฆื•ื‘ืจ ืžื“ื“ื™ื ืขื‘ื•ืจ ืื•ืชื ืกื•ื’ื™ื ืฉื‘ื”ื ื ื“ืจืฉืช ื”ืกื˜ ื”ืžืœื ืฉืœื”ื ืœืฆื‘ื™ืจื” ืกื•ืคื™ืช. ื”ืฆืžืชื™ื ืžื—ื•ื‘ืจื™ื ื–ื” ืœื–ื” ืขืœ ื™ื“ื™ ืกื•ื’ ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ ื ืขื™ืœื” ืžื‘ื•ื–ืจ, ื”ืžืืคืฉืจ ืœื‘ื—ื•ืจ ื‘ื™ื ื™ื”ื ืืช ื”ื™ื—ื™ื“ (ื›ืืŸ ื‘ื›ื™ื ื•) ืฉืจืื•ื™ ืœืฉืœื•ื— ืžื“ื“ื™ื ืœ-Great One. ื‘ืขื™ื” ื–ื• ื ืคืชืจืช ื›ืขืช ืขืœ ื™ื“ื™ ืงื•ึนื ืกื•ึผืœ, ืื‘ืœ ื‘ืขืชื™ื“ ื”ืฉืื™ืคื•ืช ืฉืœ ื”ืžื—ื‘ืจ ืžืชืจื—ื‘ื•ืช ืขื“ ืžืฉืœื• ื™ื™ืฉื•ื ืจืคืกื•ื“ื”, ืฉื‘ื” ื”ืจืื•ื™ ื‘ื™ื•ืชืจ ื™ื”ื™ื”, ื›ืžื•ื‘ืŸ, ืฆื•ืžืช ืžื ื”ื™ื’ ื”ืงื•ื ืฆื ื–ื•ืก. ื‘ื ื•ืกืฃ ืœืงื•ื ืฆื ื–ื•ืก, ืฆืžืชื™ื ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืœืžื“ื™ (ืคืขื ื‘ืฉื ื™ื™ื” ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืฉื•ืœื—ื™ื ืœืฉื›ื ื™ื”ื ืืช ืื•ืชื ื—ืœืงื™ื ืฉืœ ืžื“ื“ื™ื ืžืฆื˜ื‘ืจื™ื ืžืจืืฉ ืฉื”ื ื”ืฆืœื™ื—ื• ืœืืกื•ืฃ ื‘ืื•ืชื” ืฉื ื™ื™ื”. ืžืกืชื‘ืจ ืฉืงื ื” โ€‹โ€‹ื”ืžื™ื“ื” ื•ืกื•ื‘ืœื ื•ืช ื”ืชืงืœื•ืช ื ืฉืžืจื™ื - ื›ืœ ืฆื•ืžืช ืขื“ื™ื™ืŸ ืžื—ื–ื™ืง ื‘ืกื˜ ืฉืœื ืฉืœ ืžื“ื“ื™ื, ืื‘ืœ ื”ืžื“ื“ื™ื ื ืฉืœื—ื™ื ื›ื‘ืจ ืžืฆื˜ื‘ืจื™ื, ื“ืจืš TCP ื•ืžืงื•ื“ื“ื™ื ืœืคืจื•ื˜ื•ืงื•ืœ ื‘ื™ื ืืจื™, ื›ืš ืฉืขืœื•ื™ื•ืช ื”ืฉื›ืคื•ืœ ืžื•ืคื—ืชื•ืช ืžืฉืžืขื•ืชื™ืช ื‘ื”ืฉื•ื•ืื” ืœ-UDP. ืœืžืจื•ืช ื”ืžืกืคืจ ื”ืจื‘ ืœืžื“ื™ ืฉืœ ืžื“ื“ื™ื ื ื›ื ืกื™ื, ืฆื‘ื™ืจื” ื“ื•ืจืฉืช ืžืขื˜ ืžืื•ื“ ื–ื™ื›ืจื•ืŸ ื•ืืคื™ืœื• ืคื—ื•ืช ืžืขื‘ื“. ืขื‘ื•ืจ ื”-Mertics ื”ื ื™ืชื ื™ื ืœื“ื—ื™ืกื”, ืžื“ื•ื‘ืจ ืจืง ื‘ื›ืžื” ืขืฉืจื•ืช ืžื’ื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื. ื›ื‘ื•ื ื•ืก ื ื•ืกืฃ, ืื ื—ื ื• ืœื ืžืงื‘ืœื™ื ืฉื›ืชื•ื‘ ื ืชื•ื ื™ื ืžื™ื•ืชืจื™ื ื‘-Graphite, ื›ืคื™ ืฉื”ื™ื” ื‘ืžืงืจื” ืฉืœ burbeck.

ืžื ื•ืช UDP ืขื ืžื“ื“ื™ื ืื™ื ืŸ ืžืื•ื–ื ื•ืช ื‘ื™ืŸ ืฆืžืชื™ื ื‘ืฆื™ื•ื“ ืจืฉืช ื‘ืืžืฆืขื•ืช Round Robin ืคืฉื•ื˜. ื›ืžื•ื‘ืŸ ืฉื—ื•ืžืจืช ื”ืจืฉืช ืœื ืžื ืชื—ืช ืืช ืชื•ื›ืŸ ื”ื—ื‘ื™ืœื•ืช ื•ืœื›ืŸ ื™ื›ื•ืœื” ืœืžืฉื•ืš ื”ืจื‘ื” ื™ื•ืชืจ ืž-4M ืžื ื•ืช ืœืฉื ื™ื™ื”, ืฉืœื ืœื“ื‘ืจ ืขืœ ืžื“ื“ื™ื ืฉื”ื™ื ืœื ื™ื•ื“ืขืช ืขืœื™ื”ื ื›ืœื•ื. ืื ื ื™ืงื— ื‘ื—ืฉื‘ื•ืŸ ืฉื”ืžื“ื“ื™ื ืœื ืžื’ื™ืขื™ื ืื—ื“ ื‘ื›ืœ ืคืขื ื‘ื›ืœ ื—ื‘ื™ืœื”, ืื– ืื ื—ื ื• ืœื ืฆื•ืคื™ื ื‘ืขื™ื•ืช ื‘ื™ืฆื•ืขื™ื ื‘ืžืงื•ื ื”ื–ื”. ืื ืฉืจืช ืงื•ืจืก, ื”ืชืงืŸ ื”ืจืฉืช ืžื–ื”ื” ื‘ืžื”ื™ืจื•ืช (ื‘ืชื•ืš 1-2 ืฉื ื™ื•ืช) ืขื•ื‘ื“ื” ื–ื• ื•ืžืกื™ืจ ืืช ื”ืฉืจืช ื”ืงื•ืจืก ืžืกื™ื‘ื•ื‘. ื›ืชื•ืฆืื” ืžื›ืš, ื ื™ืชืŸ ืœื”ืคืขื™ืœ ื•ืœื›ื‘ื•ืช ืฆืžืชื™ื ืคืกื™ื‘ื™ื™ื (ื›ืœื•ืžืจ, ืฉืื™ื ื ืžื•ื‘ื™ืœื™ื) ื›ืžืขื˜ ืžื‘ืœื™ ืœืฉื™ื ืœื‘ ืœื—ืกืจื•ื ื•ืช ื‘ืชืจืฉื™ืžื™ื. ื”ื›ื™ ื”ืจื‘ื” ืฉืื ื—ื ื• ืžืคืกื™ื“ื™ื ื–ื” ื—ืœืง ืžื”ืžื“ื“ื™ื ืฉื ื›ื ืกื• ื‘ืฉื ื™ื™ื” ื”ืื—ืจื•ื ื”. ืื•ื‘ื“ืŸ/ื›ื™ื‘ื•ื™ ืคืชืื•ืžื™ ืฉืœ ืžื•ื‘ื™ืœ ืขื“ื™ื™ืŸ ื™ื™ืฆื•ืจ ื—ืจื™ื’ื” ืžื™ื ื•ืจื™ืช (ื”ืžืจื•ื•ื— ืฉืœ 30 ื”ืฉื ื™ื•ืช ืขื“ื™ื™ืŸ ืœื ืžืกื•ื ื›ืจืŸ), ืื‘ืœ ืื ื™ืฉ ืชืงืฉื•ืจืช ื‘ื™ืŸ ืฆืžืชื™ื, ื ื™ืชืŸ ืœืžื–ืขืจ ืืช ื”ื‘ืขื™ื•ืช ื”ืœืœื•, ืœืžืฉืœ, ืขืœ ื™ื“ื™ ืฉืœื™ื—ืช ืžื ื•ืช ืกื ื›ืจื•ืŸ .

ืงืฆืช ืขืœ ื”ืžื‘ื ื” ื”ืคื ื™ืžื™. ื”ืืคืœื™ืงืฆื™ื” ื”ื™ื, ื›ืžื•ื‘ืŸ, ืขื ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ื, ืื‘ืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืฉืจืฉื•ืจ ืฉื•ื ื” ืžื–ื• ื”ืžืฉืžืฉืช ื‘ืจื‘ืง. ื”ืฉืจืฉื•ืจื™ื ื‘ื‘ืจื•ื‘ืง ื–ื”ื™ื - ื›ืœ ืื—ื“ ืžื”ื ืื—ืจืื™ ื’ื ืœืื™ืกื•ืฃ ืžื™ื“ืข ื•ื’ื ืœืฆื‘ื™ืจื”. ื‘-bioyino ืขื•ื‘ื“ื™ื ืžื—ื•ืœืงื™ื ืœืฉืชื™ ืงื‘ื•ืฆื•ืช: ืืœื• ืฉืื—ืจืื™ื ืขืœ ื”ืจืฉืช ื•ืืœื• ืฉืื—ืจืื™ื ืขืœ ืฆื‘ื™ืจื”. ื—ืœื•ืงื” ื–ื• ืžืืคืฉืจืช ืœื ื”ืœ ืืช ื”ืืคืœื™ืงืฆื™ื” ื‘ืฆื•ืจื” ื’ืžื™ืฉื” ื™ื•ืชืจ ื‘ื”ืชืื ืœืกื•ื’ ื”ืžื“ื“ื™ื: ื”ื™ื›ืŸ ืฉื ื“ืจืฉืช ืฆื‘ื™ืจื” ืื™ื ื˜ื ืกื™ื‘ื™ืช, ื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืื’ืจื’ื˜ื•ืจื™ื, ื”ื™ื›ืŸ ืฉื™ืฉ ืชืขื‘ื•ืจืช ืจืฉืช ืจื‘ื”, ื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืืช ืžืกืคืจ ื–ืจื™ืžื•ืช ื”ืจืฉืช. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื‘ืฉืจืชื™ื ืฉืœื ื• ืื ื• ืขื•ื‘ื“ื™ื ื‘-8 ื–ืจื™ืžื•ืช ืจืฉืช ื•-4 ืฆื‘ื™ืจื”.

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

ื”ืจื‘ื” ื™ื•ืชืจ ื‘ืขื™ื•ืช ื‘ืžื”ืœืš ื”ืคื™ืชื•ื— ื ื’ืจืžื• ืขืœ ื™ื“ื™ ื—ืœืง ื”ืจืฉืช ืฉืื—ืจืื™ ืขืœ ืงื‘ืœืช ืžื“ื“ื™ื. ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœ ื”ืคืจื“ืช ื–ืจื™ืžื•ืช ืจืฉืช ืœื™ืฉื•ื™ื•ืช ื ืคืจื“ื•ืช ื”ื™ื™ืชื” ื”ืจืฆื•ืŸ ืœืฆืžืฆื ืืช ื”ื–ืžืŸ ืฉื–ืจื™ืžื” ืžื‘ืœื” ืœื ื›ื“ื™ ืœืงืจื•ื ื ืชื•ื ื™ื ืžื”ืฉืงืข. ื”ืืคืฉืจื•ื™ื•ืช ื”ืžืฉืชืžืฉื•ืช ื‘-UDP ืืกื™ื ื›ืจื•ื ื™ ื•-recvmsg ืจื’ื™ืœ ื ืขืœืžื• ื‘ืžื”ื™ืจื•ืช: ื”ืจืืฉื•ื ื” ืฆื•ืจื›ืช ื™ื•ืชืจ ืžื“ื™ ืžืขื‘ื“ ืฉืœ ืฉื˜ื— ืžืฉืชืžืฉ ืœืขื™ื‘ื•ื“ ืื™ืจื•ืขื™ื, ื”ืฉื ื™ื™ื” ื“ื•ืจืฉืช ื™ื•ืชืจ ืžื“ื™ ืžืชื’ื™ ื”ืงืฉืจ. ืœื›ืŸ ื”ื•ื ืžืฉืžืฉ ื›ืขืช recvmmsg ืขื ื—ื•ืฆืฆื™ื ื’ื“ื•ืœื™ื (ื•ื—ืฆืฆื™ื, ืจื‘ื•ืชื™ ืงืฆื™ื ื™ื, ื”ื ื›ืœื•ื ื‘ืฉื‘ื™ืœื›ื!). ืชืžื™ื›ื” ื‘-UDP ืจื’ื™ืœ ืฉืžื•ืจื” ืœืžืงืจื™ื ืงืœื™ื ืฉื‘ื”ื ืื™ืŸ ืฆื•ืจืš ื‘-recvmmsg. ื‘ืžืฆื‘ ืจื™ื‘ื•ื™ ื”ื•ื“ืขื•ืช, ืืคืฉืจ ืœื”ืฉื™ื’ ืืช ื”ืขื™ืงืจ: ื‘ืจื•ื‘ ื”ืžื•ื—ืœื˜ ืฉืœ ื”ื–ืžืŸ, ื—ื•ื˜ ื”ืจืฉืช ืžื’ืจืฃ ืืช ืชื•ืจ ืžืขืจื›ืช ื”ื”ืคืขืœื” - ืงื•ืจื ื ืชื•ื ื™ื ืžื”ืฉืงืข ื•ืžืขื‘ื™ืจ ืื•ืชื ืœืžืื’ืจ ื”-userspace, ืจืง ืžื“ื™ ืคืขื ืขื•ื‘ืจ ืœืชืช ืืช ื”ืžืื’ืจ ื”ืžืœื ืœ ืื’ืจื’ื˜ื•ืจื™ื. ื”ืชื•ืจ ื‘ืฉืงืข ื›ืžืขื˜ ืœื ืžืฆื˜ื‘ืจ, ืžืกืคืจ ื”ื—ื‘ื™ืœื•ืช ืฉื ืคืœื• ื›ืžืขื˜ ืœื ื’ื“ืœ.

ืฉื™ื ืœื‘

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

ืœื‘ืกื•ืฃ, ื›ืžื” ืชืจืฉื™ืžื™ื ืœืื•ื”ื‘ื™ ืชืจืฉื™ืžื™ื.

ืกื˜ื˜ื™ืกื˜ื™ืงื” ืขืœ ืžืกืคืจ ื”ืžื“ื“ื™ื ื”ื ื›ื ืกื™ื ืขื‘ื•ืจ ื›ืœ ืฉืจืช: ื™ื•ืชืจ ืž-2 ืžื™ืœื™ื•ืŸ MPS.

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

ื”ืฉื‘ืชืช ืื—ื“ ืžื”ืฆืžืชื™ื ื•ื—ืœื•ืงื” ืžื—ื“ืฉ ืฉืœ ืžื“ื“ื™ื ื ื›ื ืกื™ื.

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

ืกื˜ื˜ื™ืกื˜ื™ืงื” ืขืœ ืžื“ื“ื™ื ื™ื•ืฆืื™ื: ืจืง ืฆื•ืžืช ืื—ื“ ืชืžื™ื“ ืฉื•ืœื— - ื‘ื•ืก ื”ืคืฉื™ื˜ื”.

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

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

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

ืคื™ืจื•ื˜ ืฉืœ ืžื“ื“ื™ื ื ื›ื ืกื™ื (ืฉืžื•ืช ืžื“ื“ื™ื ืžื•ืกืชืจื™ื).

Bioyino - ืื’ืจื’ื˜ื•ืจ ืžื“ื“ื™ื ืžื‘ื•ื–ืจ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”

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

ื›ืžื•ื‘ืŸ ืฉื›ื•ืœื ืžื•ื–ืžื ื™ื ืœืขื–ื•ืจ ื‘ืคื™ืชื•ื— ื”ืคืจื•ื™ืงื˜: ืœื™ืฆื•ืจ ื™ื—"ืฆ, ื‘ืขื™ื•ืช, ืื ืืคืฉืจ ื ื’ื™ื‘, ื ืฉืคืจ ื•ื›ื•'.

ืขื ื–ื” ื ืืžืจ, ื–ื” ื”ื›ืœ ืื ืฉื™ื, ืงื ื• ืืช ื”ืคื™ืœื™ื ืฉืœื ื•!



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

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