ááá¯á·ááŒá±á¬áá·áº áááºááẠáááºááá
áºáá»á¬ážááᯠá
á¯áá±á¬ááºážáá«á áá»áœááºáá±á¬áºááá±á¬á· á¡ááá¯ááºážáá«áá²á áá»áœááºá¯ááºááá¯á·áááºáááºáž áááºááá
áºáá»á¬ážááᯠá
á¯áá±á¬ááºážáá«áááºá á
á®ážááœá¬ážáá±ážá¡ááœáẠááá¯á¡ááºáá¬áá±á¬á· áá¯ááºáá«áááºá ááá±á·áá»áœááºá¯ááºááá¯á·áá
á±á¬áá·áºááŒáá·áºáá±ážá
áá
áºáááááá¯á¶ážááá·áºááºá¡ááŒá±á¬ááºážááŒá±á¬áá«ááẠ- statsd-áááá¬ááá±á«ááºážá
ááºážáá¬áá¬
áá»áœááºá¯ááºááá¯á·á ááááºáá±á¬ááºážáá«ážáá»á¬ážá០(
áá±á¬ááºážááá¯áá»áẠáá ááá±á¬áá»ááºá developer ááŒá
áºáá±á¬ Github ááẠáááºážááᯠááá¶á·ááá¯ážáá±á¬á·áá² áá¬áá±ážááŸá¯áá»á¬áž áá¯ááºáá±ááŒááºážááŸáá·áº ááŒááºáááºááŒááºážáá»á¬áž ááŒá¯áá¯ááºááŒááºážá áá»áœááºá¯ááºááá¯á·á áááºáá¶ááŒááºážááŸáá·áº (áá»áœááºá¯ááºááá¯á·áá¬ááá¯ááº) PR ááŒá
áºáááºá ááŒá®ážáá²á·áá±á¬áá¡áááºážáááºá¡ááœááºáž (áá±áá±á¬áºáá«áá®áá០ááẠ2018 áá¯ááŸá
áºá¡ááœááºáž) ááŸá¯ááºááŸá¬ážááŸá¯áá»á¬áž ááŒááºáááºá
áááºáá²á·áá±á¬áºáááºáž 2 ááŸá
áºáá®ážáá«ážááŒá¬á¡á±á¬áẠááŒáááºáááºááœá¬ážáá²á·áááºá ááá¯á·á¡ááŒáẠá
á®áá¶ááááºážááᯠáá±á¬áºáá±á¬ááºáá»ááºááŸááááºá
áá±á¬ááºážááá¯áá»áẠáá ááœááºáá»ááºááŸá¯áá»á¬ážááááá»ááŸá¯á Brubeck ááẠá á¯á á¯áá±á«ááºážáááºááá¯áž 65536 ááᯠá á¯á ááºážáá¬ážáááºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá á¡áá»áá¯á·áá±á¬áááºááá áºáá»á¬ážá¡ááœááºá áá±á«ááºážá ááºáá¬á (30 á áá¹ááá·áºá¡ááœááºáž)á áá»á¬ážá áœá¬áá±á¬áááºááá¯ážáá»á¬ážááẠá¡ááœááºá¡ááááºááá¯á·áá±á¬ááºááŸáááá¯ááºááẠ(1)á á€ááá°áá¬áááááºá¡áá±ááŒáá·áº á¡ááŒáá·áºáá¯á¶ážááŸáá·áº á¡áááá·áºáá¯á¶ážáááºááá¯ážáá»á¬ážááẠá¡áá¯á¶ážááááºáá±á¬á·áá±á á¥ááá¬á á€áá²á·ááá¯á·áá±á¬á
áá«ááŒá±á¬ááºá·ááŒá
áºááá²á·ááá¯á·
áááºááá¯ááŒá
áºááá·áºáá²á
áá°áá®áá±á¬á¡ááŒá±á¬ááºážááŒá±á¬áá·áº ááá¬ááá»á¬ážááᯠáá±áá¯áá»á¡á¬ážááŒáá·áº ááŸá¬ážááœááºážá áœá¬ ááœááºáá»ááºáá«áááºá á¡ááŒá áºáááºážáááºáá¯áááºááá±á¬áááºááá áºááá¯áááºáá¶áááŸááá±á¬á¡áá« áá±áá¯áá»á¡á¬ážááŒáá·áº áá¬áá¬á¡á¬áž segfault ááá¯á·áá±ážááá¯á·ááá·áº 32-bit float ááŒáá·áºáá»áŸá¶ááŸá¯ááŸáá·áºá¡áá° bug áá áºáá¯ááᯠá€áá±áá¬ááœááºááá·áºáá«á á¡áá¬á¡á¬ážáá¯á¶ážááẠáá±á¬ááºážááœááºáá¬áá«áááºá áá»áá¯á·ááœááºážáá»ááºá¡á¬áž áááŒá¯ááŒááºááá±ážáá«á
áá±á¬ááºáá¯á¶ážáá±á¬á· X ááᯠáá±á¬ááºážááá¯áááºá. á á¬áá±ážáá±á ááºááœááºá áá»áœááºá¯ááºááá¯á· ááŸá¬ááœá±ááá¯ááºáá²á·ááá·áº áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ statsd á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ 14 áá¯áá¯á¶ážááᯠáááºááŒááẠá¡ááá·áºááŒá áºáá±áá«ááŒá®á MPS 4 áááºážááᯠáááºáá¶ááẠááá¯á¶áá±á¬ááºáá±á¬á·ááá·áº áá áºáá¯áááºážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡áá»áá¯á· ááá¯ážáááºáá¬áááºáᯠá áááºáá°ážááŒáá·áºááŒáá«á áá¯á·á ááá¯á·ááá¯áẠáááŒá®ážááœá¬ážáá±ážáá»áŸááºáááºá ááá¯á·áá±á¬áº áááºááá áºáá»á¬ážááẠááá·áºá¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáá±ááŒá®ááŒá áºáá±á¬ááŒá±á¬áá·áº ááá¬ážááœááºáá»á¬ážááœáẠááá¯áá±á¬ááºážáá±á¬ 2-3 áááá áºááŒá¬ááá·áºááá¯áẠáá»áááºážááŸá¯ááẠá¡áá±ážááŒá®ážááŒá®áž áááºáá±áá»á¬áá»á¬ážááŒá¬ážááœáẠáááŒááºááá¯ááºáá±á¬ á áááºáá¬ááºáá»ááŒááºážáá»á¬ážááᯠááŒá áºáá±á«áºá á±áá«áááºá á áááºáá¬ááºáá»ááŒááºážááᯠáá¯áááŒááºážááẠáá»á±ážáá°ážááááºážáá±á¬ á¡áá¯ááºááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááá¬ááá¯ááºážááá¯ááºáᬠááŒá±ááŸááºážááŸá¯áá»á¬áž ááá¯á¡ááºáá«áááºá
ááááŠážá áœá¬á áá¬áá¬áá±á«áºááœááºáá¯ááºááááºááŒá¿áá¬áá áºáá¯áááºáá¯á¶ážááœááºá áááºáá±á¬áá«áá¯ááºáá±á¬ááºáá¯ááºááœá¬ážááŒááºážááá¯áááŒá áºá á±áááºá¡ááœááºá¡ááŸá¬ážáááºážáá¶ááŸá¯ááŒá áºáááºá áá¯áááá¡áá±ááŒáá·áºá Linux ááœááºáááºá¡á á¯á¡áá±ážááœáẠáááºááŸáá¯ááºážá áœá¬ ááá°ážáá±á¬áºáá² ááá¯á¡ááºááá·áºá¡ááœááºá¡á á¬ážá¡áá âá¡áá¶â ááᯠá¡á±ážáá±ážá áœá¬ ááŒá®ážááœá¬ážááŒááºážáááŸááá² MPS 4 áááºážáá»á±á¬áºááᯠáááºáá¶ááá¯ááºá á±ááẠáá»á²á·ááœááºááŒááºáž ááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·ááœáẠá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡áá áá±áá¬ááœááºááŸááá±á¬ááŒá±á¬áá·áºá á¡ááŸá¬ážáá¶ááá¯ááºáááºááŒáá·áº á
áááºááẠáá¯á¶ážááŒááºáá²á·áááºá "á¡ááŒá±á¬ááºáž! á¡ááŸá¬ážáá¶ááá¯ááºááŸá¯á ááá¯ážááŸááºážáá«áááºá áá«ááá¯á·áá¯ááºááá¯ááºáááºâ áá¯áá»áœááºá¯ááºááá¯á·ááœá±ážááŒá®áž áá¬áᬠ2 áá¯ááá¯ááœáá·áºáᬠáá
áºáá¯á
á®ááœáẠbrubeck ááááá¹áá°ááá¯áááºáá«áááºá ááá¯ááá¯á·áá¯ááºáá±á¬ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá¬áá¬ááŸá
áºáá¯áá¯á¶ážááá¯á· áááºááá
áºáá»á¬ážááŸáá·áºá¡áá° á¡ááœá¬ážá¡áá¬áá»á¬ážááᯠáá°ážáá°áᬠáááºážá¡ááœááºááẠáá±ážáá¬ážáá²á·ááá«áááºá
ááŒá¿áá¬á¡ááŒá±á¬ááºážááᯠá¡áááºážáááºá
ááºážá
á¬ážááŒá®áž áá
áºáá»áááºáááºážááŸá¬ááẠáá±á«áºááŒá¬ážááŒáá·áº ááŸááºážáá»á¬ážááᯠáá°ážáá±á¬áºáá«áá á¡á±á¬ááºáá« áááá¬áááºááŸá¬ážáá±á¬ á¡ááŒá¶áá¬ááºááᯠááááááááá¯ááºáááº- áááºááẠááŒáá·áºáá±áá¯ááºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ statsd áá
áºáᯠááá¯á¡ááºáá«áááºá ááá¯ááá¯áááºááŸá¬á á¡áá»áááºááŸáá·áº áááºááá
áºáá»á¬ážááŒá¬ážááœáẠnode áá»á¬ážááŒá¬áž áááºáá°ááŒá¯ááŒááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áº áá
áºáá¯ááŒá
áºáááºá âáá¯ááºáá«áááºá áá®ááá¯ááŒá±ááŸááºážáá»ááºáá»áá¯áž ááŸáááŒá®ážáá¬ážááŒá
áºáá±á¬ááºážááŒá
áºááá¯ááºáá«áááºâ áᯠáá»áœááºá¯ááºááá¯á·ááŒá±á¬ááŒá®áž Google ááá¯á·ááœá¬ážáá²á·áááºá áá°ááá¯á· áá¬ááŸáááœá±á·áá°ážá ááá°áá®áá±á¬ statsd á¡ááœááºá
á¬ááœááºá
á¬áááºážáá»á¬ážááá¯ááŒááºáááºážááŒá®ážáá±á¬áẠ(
ááá¯á·áá±á¬áẠJust for Fun hackathon (ááá±á¬áá»ááºáá¡áááºááᯠhackathon áá áááºáá® script ááŸáá¯ááºáá±ážáááº) ááœááºáá±ážáá¬ážáá²á·áá±á¬ "á¡áá¯ááº" statsd - bioyino á¡ááŒá±á¬ááºáž ááááááŒá®áž áá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠstatsd áá»á¬ážá¡áá±ážáááŒá®ážááá¯á¡ááºááŒá±á¬ááºáž ááááŸáááá¯ááºááá«áááºá áá¬á¡ááœááºáá²?
- ááá¹áá¬áá±á«áºááœáẠstatsd clones áááºážáá«ážááœááºážáá±á¬ááŒá±á¬áá·áºá
- á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠá¡ááá¯ááŸááá±á¬ ááá¯á·ááá¯áẠáá®ážá ááºááŸá¯ááᯠáá±ážá áœááºážááá¯ááºáá±á¬ááŒá±á¬áá·áº (áá¬áá¬áá»á¬ážá¡ááŒá¬áž á á¯á ááºážáááºááá áºáá»á¬ážááᯠáááºáá°ááŒá¯ááŒááºážááŸáá·áº áááááá¹ááá»á¬áž áá±ážááá¯á·ááŒááºážááŒá¿áá¬ááᯠááŒá±ááŸááºážááŒááºážá¡áá«á¡áááº)á
- brubeck ááẠáááºááá áºáá»á¬ážááᯠááá¯ááá¯áááá»á áœá¬ ááœááºáá»ááºááá¯ááºáá±á¬ááŒá±á¬áá·áºá
- brubeck ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºááœá±á·áá»áá» áááŒáá·áºáááºážáá±ážááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºááẠááá¯ááá¯á¡áá±ážá áááºááááºážááááºážáá»á¬ážááᯠáááºááá¯ááºááá¯ááºá á¯áá±á¬ááºážááá¯ááºáá±á¬ááŒá±á¬áá·áºá
- áá¬ááŒá±á¬áá·áºáá² ááá¯áá±á¬á· áá»áœááºáá±á¬á·áºááŸá¬ ááá¯ááºááá¯áẠhyperperformance ááŒáá·áºáá±áá²á· á áá±ážáá¬ááºááœá²áááºáž á¡ááºááá®áá±ážááŸááºážááᯠáááá¯ááááºáá¯ááºááœáá·áº ááá²á·áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá»áœááºá¯ááºááẠá¡ááŒá¬áž á¡áá¬ážáá° hyperfor á áááá¯áá¬áááºáá¬ááᯠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž ááŒááºáá¯ááºáááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá
áá¬áá±ážáááá²á áá¯ááºáá«áááº, Rust á á¡áááºááŒá±á¬ááºá·?
- ááŸá±á·ááŒá±ážáá¯á¶á á¶ááŒá±ááŸááºážáá»ááºááŸááá±ááŒá®ááŒá áºáá±á¬ááŒá±á¬áá·áºá
- áá±á¬ááºážáá«ážáá±ážáá¬ážáá°ááẠááá¯á¡áá»áááºá Rust ááᯠáááá¬ážááŒá®ážááŒá áºá áááºážááᯠopen-source ááœááºááá·áºááœáá·áºáááŸááᬠáá¯ááºáá¯ááºáááºá¡ááœáẠáá áºáá¯áá¯áá±ážááẠá áááºá¡á¬ážáááºáááºáá±áá±á¬ááŒá±á¬áá·áºá
- á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº GC áá«áá±á¬ áá¬áá¬á áá¬ážáá»á¬ážááẠáááºáá¶áááŸáááá·áºáááºážááŒá±á¬ááºážá ááá±á¬ááá¬áááŒá±á¬áá·áº (á¡áá»áááºááŸáá·áºáááŒá±ážáá®áá®ážáá«áž) ááŸáá·áº GC áá±áá¹ááááºááŒááºážááᯠáááºááœá±á·á¡á¬ážááŒáá·áº áááºááá¶ááá¯ááºáá±á¬ááŒá±á¬áá·áºá
- á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºááẠC ááŸáá·áº ááŸááºááá¯ááºáá±á¬ á áœááºážáá±á¬ááºááẠá¡áá»á¬ážáá¯á¶áž ááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá
- á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº Rust ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááŒá±á¬ááºáááœá¶á·áá±á¬ áá°áá®áá±á¬ááœá±ááŒá±ážááᯠáá±ážáá±á¬ááºááŒá®áž áááºážááᯠC/C++ ááœáẠá áááºáá±ážáá¬ážáá«áá áá»áœááºá¯ááºááá¯á·ááẠááá¯áááẠá¡á¬ážáááºážáá»ááºáá»á¬ážá ááŒá¬ážáá¶ááœáŸááºážááá¯ážááŸá¯áá»á¬ážá áá°áá»áá¯ážáá±ážá¡ááŒá±á¡áá±áá»á¬ážááŸáá·áº brubeck ááẠá¡ááŒá¬ážááŒá±á¬ááºá áá¬áá±á¬ááºážáá±á¬ á áá¬ážáá¯á¶ážáá»á¬ážááᯠááá°ááá¯ááºáááºááŒá áºáááºá
Rust ááŸáá·áº áááºáááºááá·áº ááŒááºážáá¯á¶ááŸá¯áá»á¬ážáááºáž ááŸááá²á·áááºá áá¯áá¹ááá®ááẠRust ááœáẠááá±á¬áá»ááºáá»á¬ážááᯠáááºáá®ážáá¬ááœáẠá¡ááœá±á·á¡ááŒá¯á¶áááŸááá«á ááᯠáá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠáááºáááá±á¬áá»ááºááœáẠá¡áá¯á¶ážááŒá¯ááẠá¡á á®á¡á ááºáááŸááá«á ááá¯á·ááŒá±á¬áá·áºá áááºááá·áºá¡áá¬áá»áŸ ááŒá±áááºááœá¬ážáááºááᯠá áá¯ážááááºááŸá¯áá»á¬ážááŸááá²á·áá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á·ááẠá¡ááœáá·áºá¡áá±ážáá áºáá¯áá°áᬠááŒáá¯ážá á¬ážááẠáá¯á¶ážááŒááºáá²á·áááºá
á¡áá»áááºááœá±áá¯ááºááœá¬ážáááº...
áá±á¬ááºáá¯á¶ážááœáẠáá¡á±á¬ááºááŒááºáá±á¬ á¡ááŒáááºáá±á«ááºážáá»á¬ážá áœá¬ ááŒáá¯ážá á¬ážááŒá®ážáá±á¬ááºá ááááá¯á¶áž á¡áá¯ááºáá¯ááºááá·áºáá¬ážááŸááºážááẠá¡áááºááá·áºááŒá áºáá±áá«ááŒá®á áá¬ááŒá áºáá¬áá²? áá«á áá¬ááŒá áºáá¬áá²á
node áá
áºáá¯á
á®ááẠáááºážáááá¯ááºááá¯áẠáááºááá
áºá¡á
á¯á¶ááá¯ááºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž áááºážááá¯á·ááᯠá
á¯áá±á¬ááºážáᬠáá±á¬ááºáá¯á¶áž á
á¯á
ááºážááŸá¯á¡ááœáẠáááºážááá¯á·á á¡á
á¯á¶á¡ááẠááá¯á¡ááºááá·áº á¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá¡ááœáẠáááºááá
áºáá»á¬ážááᯠá
á¯á
ááºážááá¬ážáá±á node áá»á¬ážááᯠááŒáá·áºáá±áá±á¬áá±á¬á·áááá¯ááá¯áá±á¬ áá
áºáá»áá¯ážáá»áá¯ážááŒáá·áº áá
áºáá¯ááŸáá·áºáá
áºáᯠáá»áááºáááºáá¬ážááŒá®ážá áááºážááá¯á·á¡áááºá០áá
áºáŠážáááºážáᬠ(á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á· ááá¯áááº) ááᯠááœá±ážáá»ááºááá¯ááºá
á±áá¬áá° Great One ááá¯á· áááºááá
áºáá»á¬áž áá±ážááá¯á·ááẠááá¯ááºáááºáááºá áá®ááŒá¿áá¬ááᯠáá±á¬áá±á¬ááẠááŒá±ááŸááºážáá±ážáá±áá«áááºá
áááºááá áºáá»á¬ážáá«ááŸááá±á¬ UDP packet áá»á¬ážááẠááá¯ážááŸááºážáá±á¬ Round Robin ááŸáááá·áº ááœááºáááºá ááºáá á¹á ááºážááŸá node áá»á¬ážá¡ááŒá¬áž áááºáá»ááºááá®áá«á áá¯ááºáá«áááºá ááœááºáááºáá¬á·ááºáá²ááẠáááºáááºáá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááŒááºážáááŒá¯áá±á¬ááŒá±á¬áá·áº áááºážááẠáá¬áá»áŸáááááá·áº áááºááá áºáá»á¬ážááᯠáá±á¬áºááŒááŒááºážáááŒá¯áá² áá áºá áá¹ááá·áºáá»áŸáẠ4M áááºáááºáá»á¬ážááẠáá»á¬ážá áœá¬ááá¯á ááœá²áá°ááá¯ááºáááºá á¡áá¯ááºáá áºáá¯á á®ááœáẠáá áºááŒáááºáá»áŸáẠáááºááá áºáá»á¬áž áá áºááŒáááºááá¬áᯠááá·áºááœááºážá ááºážá á¬ážáá«áá á€áá±áá¬á á áœááºážáá±á¬ááºááẠááŒá¿áá¬áá áºá á¯á¶áá áºáá¬ááᯠáá»áœááºá¯ááºááá¯á· ááŒáá¯ááŒááºáááºááá¯ááºáá«á áá¬áá¬áá áºáᯠáá»ááºááœá¬ážáá«áá ááœááºáááºá ááºáá á¹á ááºážááẠá€á¡áá»ááºááᯠáá»ááºááŒááºá áœá¬ (1-2 á áá¹ááá·áºá¡ááœááºáž) ááŸá¬ááœá±ááœá±á·ááŸáááŒá®áž áá»ááºá á®ážááœá¬ážáá±á¬ áá¬áá¬ááᯠáááºáááºááŸá¯á០áááºááŸá¬ážáááºá áááºážáááááºá¡áá±ááŒáá·áºá passive (ááá¯ááá¯áááºááŸá¬ áá±á«ááºážáá±á¬ááºááá¯ááºáá±á¬) node áá»á¬ážááᯠááá¬ážáá»á¬ážááœáẠáá¯ááºááœááºááŸá¯áá»á¬ážááᯠáááááá¬ážáááá² áááºááœá±á·áá»áá» ááœáá·áºááá¯ááºááŒá®áž ááááºááá¯ááºáááºá áá»áœááºá¯ááºááá¯á· á¡áá»á¬ážáá¯á¶ážááŸá¯á¶ážáááºááŸá¬ áá±á¬ááºáá¯á¶ážá áá¹ááá·áºááœáẠáá«áá¬ááá·áº áááºááá áºáá»á¬ážá áá áºá áááºáá áºááá¯ááºážááŒá áºáááºá áá±á«ááºážáá±á¬ááºáá áºáŠážá áá¯ááºáááẠáá¯á¶ážááŸá¯á¶ážááŸá¯/ááááºááááºážááŒááºáž/ááá¯ááºááẠáá±ážáááºáá±á¬ ááœá²ááœá²ááŸá¯áá áºáá¯ááᯠáááºáá®ážáá±áá²ááŒá áºááẠ(á áá¹ááá·áº 30 ááŒá¬ážáá¬áááẠáááºáá°áá»áá±áá±ážáááº)á ááá¯á·áá±á¬áº node áá»á¬ážááŒá¬ážááœáẠáááºááœááºááŸá¯áá»á¬ážááŸááá±áá«áá á¥ááá¬á¡á¬ážááŒáá·áºá áááºáá°ááŒá¯ááŒááºáž packets áá»á¬ážááᯠáá±ážááá¯á·ááŒááºážááŒáá·áº á€ááŒá¿áá¬áá»á¬ážááᯠáá»áŸá±á¬á·áá»ááá¯ááºááẠ.
á¡ááœááºážááá¯ááºážááœá²á·á ááºážáá¯á¶á¡ááŒá±á¬ááºážá¡áááºážáááºá á¡ááá®áá±ážááŸááºážááẠáá»ááºáá»áŸááºáá»á¬ážá áœá¬áá«ááŸááá±á¬áºáááºáž threading architecture ááẠbrubeck ááœááºá¡áá¯á¶ážááŒá¯ááá·áºáá¯á¶á á¶ááŸáá·áº ááœá²ááŒá¬ážáááºá brubeck ááŸá thread áá»á¬ážááẠáá°áá®ááẠ- áááºážááá¯á· áá áºáá¯á á®ááẠá¡áá»ááºá¡ááẠá á¯áá±á¬ááºážááŒááºážááŸáá·áº á á¯á ááºážááŸá¯ ááŸá áºáá¯á áá¯á¶ážá¡ááœáẠáá¬áááºááŸááááºá bioyino ááœáẠá¡áá¯ááºááá¬ážáá»á¬ážááᯠááœááºáááºá¡ááœáẠáá¬áááºááŸááá°áá»á¬ážááŸáá·áº á á¯á ááºážááŸá¯áá¬áááºááŸááá°áá»á¬ážáá°á á¡á¯ááºá á¯ááŸá áºá á¯ááœá²áá¬ážáááºá á€áá¬áááœá²ááẠááá·áºá¡á¬áž áááºááá áºá¡áá»áá¯ážá¡á á¬ážáá»á¬ážáá±á«áºáá°áááºá á¡ááá®áá±ážááŸááºážááᯠááá¯ááá¯áá»á±á¬á·ááŒá±á¬ááºážá áœá¬ á á®áá¶ááá·áºááœá²ááá¯ááºá á±áááº- ááŒááºážáááºáá±á¬ á á¯á ááºážááŸá¯ááá¯á¡ááºááá·áºá¡áá« á á¯á ááºážááŸá¯áá»á¬áž ááá·áºááœááºážááá¯ááºáááºá ááœááºáááºá¡ááœá¬ážá¡áá¬áá»á¬ážáá±á¬áá±áá¬ááœáẠááœááºáááºá á®ážáááºážááŸá¯á¡áá±á¡ááœááºááᯠáááºáá±á«ááºážááá·áºááá¯ááºáááºá áá±á¬áá±á¬áááºááœááºá áá»áœááºá¯ááºááá¯á·ááá¬áá¬áá»á¬ážááœáẠáá»áœááºá¯ááºááá¯á·ááẠááœááºááẠá áá¯ááŸáá·áº áá±á«ááºážá ááºážááŸá¯áááºážááŒá±á¬ááºáž á áá¯ááœáẠá¡áá¯ááºáá¯ááºáá«áááºá
áá±ááœááºááŒááºáž (á
á¯á
ááºážááŸá¯á¡ááœáẠáá¬áááºááŸááááº) á¡ááá¯ááºážááẠáá»ááºážá
áá¬áá±á¬ááºážáááºá ááœááºáááºá
á®ážáááºážááŸá¯áá»á¬ážááŒáá·áº ááŒáá·áºááœááºážáá¬ážááá·áº ááŒá¬ážáá¶áá»á¬ážááᯠáá±ááœááºááá·áº á
á®ážáááºážááŸá¯áá»á¬ážááŒá¬ážááœáẠááŒáá·áºáá±áá¬ážááŒá®áž áááºážááá¯á·ááᯠáá±á¬ááºááá¯ááºážááœáẠááœá²ááŒááºážá
áááºááŒá¬ááŒá®áž á
á¯á
ááºážáá¬ážáááºá áá±á¬ááºážááá¯áá»ááºá¡áá á¡ááŒá¬áž nodeáá»á¬ážááá¯á· áá±ážááá¯á·áááºá¡ááœáẠáááºááá
áºáá»á¬ážááᯠáá±ážáá«áááºá node áá»á¬ážááŒá¬áž áá±áá¬áá±ážááá¯á·ááŒááºážááŸáá·áº Consul ááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá¡áá«á¡áááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá°áá±á¬ááºáá±á«áºááœáẠáá¯ááºáá±á¬ááºáá±ááŒááºážá
áááºááá
áºáá»á¬ážááᯠáááºáá¶áááŸáááẠáá¬áááºááŸááá±á¬ ááœááºáááºá¡ááá¯ááºážááŒá±á¬áá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¡ááœááºáž áá±á¬ááºáááºááŒá¿áá¬áá»á¬ážá
áœá¬ ááŒá
áºááœá¬ážáá²á·áááºá ááœááºáááºá
á®ážáááºážááŸá¯á¡á¬áž áá®ážááŒá¬ážá¡ááœá²á·á¡á
ááºážáá»á¬ážááá¯á· ááœá²áá¯ááºááŒááºážá á¡ááááááºážááá¯ááºááŸá¬ á
á®ážáááºážááŸá¯áá
áºáá¯áá¡áá»áááºááᯠáá»áŸá±á¬á·áá»ááá¯áá±á¬ááá¹áááŒá
áºáááºá ááá¯áẠsocket ááŸáá±áá¬ááá¯áááºáááºá asynchronous UDP ááŸáá·áº áá¯á¶ááŸáẠrecvmsg ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ ááœá±ážá
áá¬áá»á¬áž áá»ááºááŒááºá
áœá¬ áá»á±á¬ááºááœááºááœá¬ážáááº- áááááẠááŒá
áºáááºáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯áá°-áá±áá¬ááᯠCPU á¡ááœááºá¡áá»áœá¶áá¯á¶ážá
áœá²áááºá áá¯áááááŸá¬ áááºá
ááºááá¯ááºáá»á¬ážá
áœá¬ ááá¯á¡ááºáá«áááºá ááá¯á·ááŒá±á¬áá·áºááá¯á¡áá¯á¶ážááŒá¯áááºá
ááœá±á¬ááá¯
áá°áááºážáááºáááºáá»á¬ážááœááºá ááŒá¬ážáá¶á¡ááœááºá¡á á¬ážááᯠá¡áá±á¬áºáá±ážááŒá®ážáááºáᯠáááºááŸááºáá¬ážáááºá á¡áááºá áááºááẠáá¬áá¬ááᯠáááºááá¯ááºááá¯áẠá ááºážáááºááẠáá¯ááºáááẠáá¯á¶ážááŒááºáá«áá áááºááá áºá¡áááºážá¡áá»á¬áž áá±ážááá¯á·ááŒá®ážáá±á¬áẠáááºážááá¯á·ááẠááœááºáááºá á®ážááŒá±á¬ááºážááŒá¬ážáá¶ááœáẠáá»ááºááŸááá±áá±á¬ Graphite ááá¯á· áá±á¬ááºááŸááááºááá¯ááºááŒá±á¬ááºáž áááºááŒá¯á¶ááœá±á·áááá¯ááºáááºá áááºááá áºá¡áá±á¡ááœáẠá¡áááºážáááºááŒáá·áº áá¯ááºáá±á¬ááºáááºá config ááœáẠáá±ážáááºáá±á¬ áááºááá¯ážáá»á¬áž bufsize ááŸáá·áº task-queue-size ááᯠáááºááŸááºááẠááá¯á¡ááºáááºá
áá±á¬ááºáá¯á¶ážááœáẠáá¬ážáá»ááºáá»á áºáá°áá»á¬ážá¡ááœáẠááá¬ážá¡áá»áá¯á·á
áá¬áá¬áá áºáá¯á á®á¡ááœáẠá¡áááºáááºááá áºááááºážááááºážáá»á¬áž- MPS 2 áááºážáá»á±á¬áºá
node áá»á¬ážáá²á០áá áºáá¯ááᯠááááºááŒááºážááŸáá·áº á¡áááºáááºááá áºáá»á¬ážááᯠááŒááºáááºááŒáá·áºáá±ááŒááºážá
á¡ááœááºáááºááá áºáá»á¬ážááá¯ááºáᬠááááºážááááºážáá»á¬áž- node áá áºáá¯áᬠá¡ááŒá²áááºáž áá±ážááá¯á·ááẠ- raid boss.
á¡áá»áá¯ážáá»áá¯ážáá±á¬ á áá Ạmodules áá»á¬ážááœáẠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážáᬠnode áá áºáá¯á á®á áá¯ááºáá±á¬ááºááŸá¯ááá¯ááºáᬠááááºážááááºážáá»á¬ážá
á¡áááºáááºááá áºáá»á¬ážá á¡áá±ážá áááºá¡áá»ááºáá»á¬áž (áááºááá áºá¡áááºáá»á¬ážááᯠááŸááºáá¬ážáááº)á
áá«ááœá±á¡á¬ážáá¯á¶ážáá²á· áá±á¬ááºáá¬áá¯ááºááá¯á· á á®á ááºáá¬ážáá²á áá¯ááºáá«ááẠáá¯ááºáá±ážáá«...! ááá±á¬áá»ááºááẠáá°áá open-source á¡ááŒá Ạá á®á ááºáá²á·ááŒááºážááŒá áºááŒá®áž áááºážá áááá áºáá»áŸá±á¬ááºáá¯á¶áž áááºáááºáááºááŸááá±áááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááá»ááºáá»ááºážá¡á á®á¡á ááºáá»á¬ážááœáẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠRaft áá¬ážááŸááºážááá¯á·ááŒá±á¬ááºážááŒááºážá áááºáá°ááœááºáá°áááá¯ááá¯áá±á¬ááᯠááá¯ááá¯áááºáá±á¬ááºáááœááºáá°áá±á¬á áá áºáá áºáá¯ááá¯á·ááŒá±á¬ááºážáá²ááŒááºážá á¡ááá¯á¡ááœááºážááá¯ááºážá á¬áááºážá¡ááºážáá»á¬ážááááºáááºááŒááºážá áááºááá áºá¡áá»áá¯ážá¡á á¬ážá¡áá áºáá»á¬ážá áá»áœááºááœááºážáá»ááºááŒááºáááºááŸá¯áá»á¬ážááŸáá·áº á¡ááŒá¬ážááá¯ážáááºááŸá¯áá»á¬ážáá«áááºáááºá
ááá±á¬áá»ááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááœáẠáá°ááá¯ááºážá¡á¬áž áá°áá®ááẠááŒáá¯ááá¯áá«áááº- PR ááᯠáááºáá®ážáá«á ááŒá¿áá¬áá»á¬ážá ááŒá áºááá¯ááºáá«á áá»áœááºá¯ááºááá¯á· áá¯á¶á·ááŒááºáááºá ááŒáŸáá·áºáááºáááºá á áááŒáá·áºá
áá®ááá¯ááá¯ááá¯á·ááŸáááẠááŒááºáá°ááœá±á áá«ááá¯á· áááºááœá±ááᯠáááºááŒá
source: www.habr.com