Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

И Ρ‚Π°ΠΊΠ°, ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ ΠΈ Π½ΠΈΠ΅. НиС ΡΡŠΡ‰ΠΎ ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Π Π°Π·Π±ΠΈΡ€Π° сС, Π²Π°ΠΆΠ½ΠΈ Π·Π° бизнСса. ДнСс Ρ‰Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ Π·Π²Π΅Π½ΠΎ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ систСма β€” ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° агрСгация, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с statsd. bioyino, Π·Π°Ρ‰ΠΎ Π³ΠΎ написахмС ΠΈ Π·Π°Ρ‰ΠΎ сС ΠΎΡ‚ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ brubeck.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

ΠžΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ Π½ΠΈ статии (1, 2) ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅, Ρ‡Π΅ Π΄ΠΎ извСстно Π²Ρ€Π΅ΠΌΠ΅ ΡΡŠΠ±ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° brubeck. Π’ΠΎΠΉ Π΅ написан Π½Π° C. ΠžΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΊΠΎΠ΄Π° β€” прост ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°ΠΏΠ°Ρ‚Π° (Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŽΡ‚ΠΈΡ€Π°Ρ‚Π΅) ΠΈ, Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ, Π±Π΅Π· особСни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС справя с Π½Π°ΡˆΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΌΠΈ ΠΎΡ‚ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² сСкунда (MPS) Π² ΠΏΠΈΠΊΠ°. ДокумСнтацията обявява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS със Π·Π²Π΅Π·Π΄Π°. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ заявСната Ρ†ΠΈΡ„Ρ€Π° Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, Π°ΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ настроитС ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π° Linux. (Колко MPS ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, Π°ΠΊΠΎ оставитС ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅, нямамС информация). Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚Π΅Π·ΠΈ прСдимства, ΠΈΠΌΠ°ΠΌΠ΅ няколко сСриозни ΠΏΡ€Π΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ към brubeck.

ΠŸΡ€Π΅Ρ‚Π΅Π½Ρ†ΠΈΡ 1. Github β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” спря Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°: Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΏΠ°Ρ‡ΠΎΠ²Π΅ ΠΈ фиксовС, Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΈ (Π½Π΅ само Π½Π°ΡˆΠΈΡ‚Π΅) PR. Π’ послСднитС няколко мСсСца (някъдС ΠΎΡ‚ Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ-ΠΌΠ°Ρ€Ρ‚ 2018) активността сС възобнови, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° имашС ΠΏΠΎΡ‡Ρ‚ΠΈ 2 Π³ΠΎΠ΄ΠΈΠ½ΠΈ пълно Π·Π°Ρ‚ΠΈΡˆΠΈΠ΅. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ Π½Π° Github, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС сСриозна ΠΏΡ€Π΅Ρ‡ΠΊΠ° Π·Π° Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€Π΅Ρ‚Π΅Π½Ρ†ΠΈΡ 2. Вочността Π½Π° изчислСнията. Brubeck ΡΡŠΠ±ΠΈΡ€Π° Π·Π° агрСгация само 65536 стойности. Π’ нашия случай Π·Π° някои ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π½Π° агрСгация (30 сСк) ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ΄Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ стойности (1,527,392 Π² ΠΏΠΈΠΊΠ°). Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚Π°ΠΊΠΎΠ²Π° сСмплиранС, стойноститС Π½Π° максимумитС ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΈΡ‚Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ. НапримСр, Π΅Ρ‚ΠΎ Ρ‚Π°ΠΊΠ°:

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
ΠšΠ°ΠΊΡ‚ΠΎ бСшС

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
Как debería да бъдС

По ΡΡŠΡ‰Π°Ρ‚Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, сумитС сС считат Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ. Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ бъг с ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° 32-Π±ΠΈΡ‚Π΅Π½ float, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π² segfault ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ΄Π½ΠΎ Π½Π΅Π²ΠΈΠ½Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΈ става ΠΎΡ‰Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅. Π‘ΡŠΠ³ΡŠΡ‚, ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π½Π΅ Π΅ ΠΏΠΎΠΏΡ€Π°Π²Π΅Π½.

И накрая, ΠŸΡ€Π΅Ρ‚Π΅Π½Ρ†ΠΈΡ X. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° написванСто Π½Π° статията смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° я прСдявим Π½Π° всичкитС 14 ΠΏΠΎ-ΠΈΠ»ΠΈ-ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° statsd, ΠΊΠΎΠΈΡ‚ΠΎ успяхмС Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ. НСка ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ някаква ΠΎΡ‚Π΄Π΅Π»Π½Π° инфраструктура Π΅ нараснала Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°, Ρ‡Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ. Или Π½Π΅ Π΅ нараснала, Π½ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π·Π° вас Π²Π΅Ρ‡Π΅ са Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΈ, Ρ‡Π΅ Π΄ΠΎΡ€ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈ, 2-3 ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΈ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° станат ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚ ΠΏΡ€ΠΈΡΡ‚ΡŠΠΏΠΈ Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠ° дСпрСсия Ρƒ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅. Въй ΠΊΠ°Ρ‚ΠΎ Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дСпрСсията Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Π»ΠΎ, нСобходимостта ΠΎΡ‚ тСхничСски Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ Π½Π°Π»ΠΈΡ†Π΅.

ΠŸΡŠΡ€Π²ΠΎ, устойчивост, Π·Π° Π΄Π° Π½Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° психиатричСн Π·ΠΎΠΌΠ±ΠΈ апокалипсис Π² офиса. Π’Ρ‚ΠΎΡ€ΠΎ, мащабируСмост, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ Π½Π°Π΄ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS, Π±Π΅Π· Π΄Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌΠ΅ дълбоко Π² мрСТовия стСк Π½Π° Linux ΠΈ спокойно Π΄Π° растСм "Π²ΡˆΠΈΡ€" Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ.

Въй ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π΅Π·Π΅Ρ€Π² ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° мащабируСмостта, Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΎ Π΄Π° сС Π·Π° Π·Π°Π΅ΠΌΠ΅ΠΌ с устойчивостта. "О! Устойчивост! Π’ΠΎΠ²Π° Π΅ лСсно, Π½ΠΈΠ΅ Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ", помислихмС си ΠΈ стартирахмС 2 ΡΡŠΡ€Π²ΡŠΡ€Π°, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ инсталирахмС ΠΊΠΎΠΏΠΈΠ΅ Π½Π° brubeck. Π—Π° Ρ‚ΠΎΠ²Π° Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° с ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π΄Π²Π°Ρ‚Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ Π΄ΠΎΡ€ΠΈ Π΄Π° напишСм Π·Π° Ρ‚Π°Π·ΠΈ Ρ†Π΅Π» ΠΌΠ°Π»ΠΊΠ° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°. Устойчивостта Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅, Π½ΠΎ... Π½Π΅ особСно Π΄ΠΎΠ±Ρ€Π΅. Π‘ΠΏInitially всичко изглСТдашС Π΄ΠΎΠ±Ρ€Π΅: всСки brubeck ΡΡŠΠ±ΠΈΡ€Π° своя Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅, записва Π΄Π°Π½Π½ΠΈ Π² Graphite Π½Π° всСки 30 сСкунди, прСзаписвайки стария ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» (Ρ‚ΠΎΠ²Π° става ΠΎΡ‚ страната Π½Π° Graphite). Ако Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ, Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ‚ΠΎΡ€ΠΈ с ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Но Π΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π°ΠΊΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ, Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ сС появява "Π·ΡŠΠ±Π΅Ρ†". Π’ΠΎΠ²Π° Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ 30-сСкунднитС ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ Π½Π° brubeck Π½Π΅ са синхронизирани, ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях Π½Π΅ сС прСзаписва. ΠŸΡ€ΠΈ стартиранС Π½Π° втория ΡΡŠΡ€Π²ΡŠΡ€ сС случва ΡΡŠΡ‰ΠΎΡ‚ΠΎ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π΅ напълно ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ, искамС ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ! ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с мащабируСмостта ΡΡŠΡ‰ΠΎ Π½Π΅ ΠΈΠ·Ρ‡Π΅Π·Π½Π°. Всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° "лСтят" към Π΅Π΄ΠΈΠ½ СдинствСн ΡΡŠΡ€Π²ΡŠΡ€, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ смС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ 2-4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS, Π² зависимост ΠΎΡ‚ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

Ако ΠΌΠ°Π»ΠΊΠΎ помислим Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΏΠ°Π΅ΠΌ снСга с Π»ΠΎΠΏΠ°Ρ‚Π°, Π² Π³Π»Π°Π²Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠΉΠ΄Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°Ρ‚Π° идСя: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΠΈ Π΅ statsd, ΠΌΠΎΠΆΠ΅Ρ‰ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ. ВоСст Ρ‚Π°ΠΊΡŠΠ², Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° синхронизация ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. "Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ сигурно Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°", ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ ΠΈ Ρ‚Ρ€ΡŠΠ³Π½Π°Ρ…ΠΌΠ΅ Π΄Π° Π³ΡƒΠ³Π»ΠΈΠΌ... И Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ…ΠΌΠ΅ Π½ΠΈΡ‰ΠΎ. ΠŸΡ€Π΅Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ докумСнтацията Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ statsd (https://github.com/etsy/statsd/wiki#server-implementations към 11.12.2017), ΠΈ Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ…ΠΌΠ΅ Π½ΠΈΡ‰ΠΎ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π½ΠΈΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π½ΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ досСга Π½Π΅ са сС сблъсквали с Π’ΠΠšΠžΠ’Π количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΈΠ½Π°Ρ‡Π΅ със сигурност щяха Π΄Π° са измислили Π½Π΅Ρ‰ΠΎ.

И Ρ‚ΠΎΠ³Π°Π²Π° си спомнихмС Π·Π° "ΠΈΠ³Ρ€Π°Ρ‡ΠΊΠ°Ρ‚Π°" statsd β€” bioyino, която писахмС Π½Π° Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½ просто Π·Π° Π·Π°Π±Π°Π²Π»Π΅Π½ΠΈΠ΅ (ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚ скрипт Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π°) ΠΈ Ρ€Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ спСшно Π½ΠΈ Π΅ Π½ΡƒΠΆΠ΅Π½ собствСн statsd. Π—Π°Ρ‰ΠΎ?

  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² свСта ΠΈΠΌΠ° Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΊΠ»ΠΎΠ½ΠΈ Π½Π° statsd,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° осигурим ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° ΠΈΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° устойчивост ΠΈ мащабируСмост (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° синхронизирамС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ ΠΈ Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅),
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°ΠΌΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ brubeck,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ сами Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° статистика, която brubeck практичСски Π½Π΅ Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡΡˆΠ΅,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ сС прСдостави шанс Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ собствСно hyperperformance distributed scale application, ΠΊΠΎΠ΅Ρ‚ΠΎ няма Π΄Π° повтаря напълно Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ²Π° hyperfor… Π½ΡƒΠ²Ρ‹ΠΏΠΎΠ½Π΅Π»ΠΈ.

На ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° пишСм? Π Π°Π·Π±ΠΈΡ€Π° сС, Π½Π° Rust. Π—Π°Ρ‰ΠΎ?

  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²Π΅Ρ‡Π΅ имашС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° статията Ρ‚ΠΎΠ³Π°Π²Π° Π²Π΅Ρ‡Π΅ знаСшС Rust ΠΈ искашС Π΄Π° напишС Π½Π΅Ρ‰ΠΎ Π·Π° производството, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Π² open-source,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅Π·ΠΈΡ†ΠΈ с GC Π½Π΅ Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠΆΠ΄Π°Ρ‚ Π·Π°Ρ€Π°Π΄ΠΈ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π½Π° получавания Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (практичСски Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅) ΠΈ GC ΠΏΠ°ΡƒΠ·ΠΈΡ‚Π΅ са практичСски нСдопустими,
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈ трябва максимална производитСлност, сравнима с C
  • Π·Π°Ρ‰ΠΎΡ‚ΠΎ Rust Π½ΠΈ прСдоставя fearless concurrency, Π° Π°ΠΊΠΎ бяхмС Π·Π°ΠΏΠΎΡ‡Π½Π°Π»ΠΈ Π΄Π° пишСм Ρ‚ΠΎΠ²Π° Π½Π° C/C++, щяхмС Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ уязвимости, ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½ΠΈΡ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°, race conditions ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ.

ИмашС ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Rust. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° нямашС ΠΎΠΏΠΈΡ‚ Π² ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Rust ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΡΡŠΡ‰ΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² основния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π—Π°Ρ‚ΠΎΠ²Π° имашС сСриозни опасСния, Ρ‡Π΅ Π½ΠΈΡ‰ΠΎ няма Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ, Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° рискувамС ΠΈ ΠΎΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅.

Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΠΈΠ½Π°Π²Π°...

Накрая, слСд няколко Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ ΠΎΠΏΠΈΡ‚Π°, ΠΏΡŠΡ€Π²Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° вСрсия бСшС Π³ΠΎΡ‚ΠΎΠ²Π°. Какво постигнахмС? ΠŸΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Ρ‚Π°ΠΊΠΎΠ²Π°.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Всяка Π½ΠΎΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° своя собствСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π³ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΏΡ€ΠΈ сСбС си, ΠΊΠ°Ρ‚ΠΎ Π½Π΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Π·Π° Ρ„ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° агрСгация Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ цСлият ΠΈΠΌ Π½Π°Π±ΠΎΡ€. НодитС са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си Ρ‡Ρ€Π΅Π· някакъв ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ (distributed lock), ΠΊΠΎΠΉΡ‚ΠΎ позволява Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ ΠΈΠ·ΠΌΠ΅ΠΆΠ΄Ρƒ тях ΠΎΠ½Π°Π·ΠΈ СдинствСна (Ρ‚ΡƒΠΊ ΠΏΠ»Π°Ρ‡Π΅ΠΌ), която Π΅ достойна Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° ВСликия. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сС Ρ€Π΅ΡˆΠ°Π²Π° Ρ‡Ρ€Π΅Π· Consul, Π½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π°ΠΌΠ±ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° сС простират Π΄ΠΎ собствСна рСализация Raft, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΎΠ½Π°Π·ΠΈ достойна Ρ‰Π΅ бъдС, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½ΠΎΠ΄Π°-Π»ΠΈΠ΄Π΅Ρ€ Π½Π° консСнсуса. ОсвСн консСнсуса, Π½ΠΎΠ΄ΠΈΡ‚Π΅ доста чСсто (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ вСднъТ Π² сСкунда) ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π½Π° своитС съсСди частитС ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са успСли Π΄Π° ΡΡŠΠ±Π΅Ρ€Π°Ρ‚ Π·Π° Ρ‚Π°Π·ΠΈ сСкунда. ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π° сС, Ρ‡Π΅ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ отказоустойчивостта сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ β€” всяка ΠΎΡ‚ Π½ΠΎΠ΄ΠΈΡ‚Π΅ всС ΠΎΡ‰Π΅ Π΄ΡŠΡ€ΠΆΠΈ ΠΏΡ€ΠΈ сСбС си пълСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π½ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ, ΠΏΠΎ TCP ΠΈ с ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π² Π±ΠΈΠ½Π°Ρ€Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅ Π² сравнСниС с UDP Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намаляват. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ доста голямото количСство входящи ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Π½Π΅Ρ‚ΠΎ изисква ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ ΠΎΡ‰Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ CPU. Π—Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π΄ΠΎΠ±Ρ€Π΅ компрСсируСми ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Ρ‚ΠΎΠ²Π° Π΅ само няколко дСсСтки ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ бонус Π΅ ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈ прСзаписи Π½Π° Π΄Π°Π½Π½ΠΈ Π² Graphite, ΠΊΠ°ΠΊΡ‚ΠΎ бСшС Π² случая с burbeck.

UDP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ с ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ са Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ Ρ‡Ρ€Π΅Π· прост Round Robin. Π‘Π°ΠΌΠΎ ΠΏΠΎ сСбС си, мрСТовият Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΈ слСдоватСлно ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 4M ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² сСкунда, Π΄Π° Π½Π΅ спомСнавамС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠΉ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ няма прСдстава. ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π΅ ΠΈΠ΄Π²Π°Ρ‚ ΠΏΠΎ Π΅Π΄Π½Π° във всСки ΠΏΠ°ΠΊΠ΅Ρ‚, Π½Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с производитСлността Π½Π° Ρ‚ΠΎΠ²Π° място. Π’ случай Π½Π° срив Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ устройство Π±ΡŠΡ€Π·ΠΎ (Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° 1-2 сСкунди) ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΊΡ‚ ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° сринатия ΡΡŠΡ€Π²ΡŠΡ€ ΠΎΡ‚ ротацията. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° пасивнитС (Ρ‚.Π΅. Π½Π΅ Π²ΠΎΠ΄Π΅Ρ‰ΠΈ) Π½ΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈ ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈ, Π±Π΅Π· Π΄Π° сС забСлязват спадовС Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅. Най-ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π³ΡƒΠ±ΠΈΠΌ β€” Ρ‚ΠΎΠ²Π° Π΅ част ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅, дошли Π·Π° послСдната сСкунда. Π˜Π·Π½Π΅Π½Π°Π΄Π²Π°Ρ‰Π°Ρ‚Π° Π·Π°Π³ΡƒΠ±Π°/ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅/ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Π»ΠΈΠ΄Π΅Ρ€Π° всС ΠΏΠ°ΠΊ Ρ‰Π΅ нарисува Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½Π° аномалия (30-сСкундСн ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» всС ΠΎΡ‰Π΅ Π΅ нСсинхронизиран), Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Π΅ възмоТно Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΈ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ€Π΅Π· Ρ€Π°Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° синхронизиращи ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

Няколко Π΄ΡƒΠΌΠΈ Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° структура. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Π°, Π½ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΈΡ‚Π΅ Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° ΠΎΡ‚ Ρ‚Π°Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² brubeck. ΠŸΠΎΡ‚ΠΎΠΊΠΈΡ‚Π΅ Π² brubeck са Π΅Π΄Π½Π°ΠΊΠ²ΠΈ β€” всСки ΠΎΡ‚ тях отговаря Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° информация, ΠΈ Π·Π° агрСгация. Π’ bioyino Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ (workers) са Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΈ: ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° агрСгацията. Π’ΠΎΠ²Π° раздСлянС позволява ΠΏΠΎ-гъвкаво ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² зависимост ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: Ρ‚Π°ΠΌ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½Π° агрСгация, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ΠΈ, Ρ‚Π°ΠΌ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ² Ρ‚Ρ€Π°Ρ„ΠΈΠΊ β€” Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ броя Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с 8 ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΈ 4 Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Ρ‰ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Π‘Ρ‡ΠΈΡ‚Π°Ρ‰Π°Ρ‚Π° (ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π° Π·Π° агрСгацията) част Π΅ доста скучна. Π—Π°ΠΏΡŠΠ»Π½Π΅Π½ΠΈΡ‚Π΅ с ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈ сС разпрСдСлят ΠΌΠ΅ΠΆΠ΄Ρƒ считащитС ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π² послСдствиС сС парсят ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚. По заявка ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ сС прСдоставят Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ към Π΄Ρ€ΡƒΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅. Всичко Ρ‚ΠΎΠ²Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ прСноса Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Consul, сС изпълнява асинхронно, Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° tokio.

Много ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° създадС ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° част, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π° Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π½Π° отдСлянСто Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΡΡŠΡ‰Π½ΠΎΡΡ‚ΠΈ бСшС ΡΡ‚Ρ€Π΅ΠΌΠ΅ΠΆΡŠΡ‚ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΡŠΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ сокСта. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡ‚Π΅ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° асинхронно UDP ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ recvmsg Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ΠΏΠ°Π΄Π½Π°Ρ…Π°: ΠΏΡŠΡ€Π²ΠΈΡΡ‚ ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ CPU Π² user-space Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, вторият β€” Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ контСкстни ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈΡ. Π—Π°Ρ‚ΠΎΠ²Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° recvmmsg с Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈ (Π° Π±ΡƒΡ„Π΅Ρ€ΠΈΡ‚Π΅, господа ΠΎΡ„ΠΈΡ†Π΅Ρ€ΠΈ, Π½Π΅ са Π½Π΅Ρ‰ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ!). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° стандартСн UDP остава Π·Π° Π½Π΅Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈ случаи, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π² recvmmsg няма Π½ΡƒΠΆΠ΄Π°. Π’ Ρ€Π΅ΠΆΠΈΠΌ multimessage сС постига основната Ρ†Π΅Π»: подавляващото мнозинство ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ мрСТовият ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π½Π° ОБ β€” изтСгля Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ сокСта ΠΈ Π³ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ Π² Π±ΡƒΡ„Π΅Ρ€ Π½Π° потрСбитСлското пространство, само ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΉΠΊΠΈ към Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° запълнСния Π±ΡƒΡ„Π΅Ρ€ Π½Π° Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅. ΠžΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π² сокСта ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°, Π° броят Π½Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ нараства.

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°

Π’ настройкитС ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π΅ поставСн Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ голям. Ако Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π° самостоятСлно, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ‚Π΅ с Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ слСд ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΎ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ρ‚Π΅ няма Π΄Π° пристигнат Π² Graphite, Π° Ρ‰Π΅ останат Π² Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° мрСТовия ΠΏΠΎΡ‚ΠΎΠΊ. Π—Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ°Π»ΠΊΠΎ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ стойности Π·Π° bufsize ΠΈ task-queue-size Π² конфигурацията.

Накрая β€” ΠΌΠ°Π»ΠΊΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π·Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅.

Бтатистика Π·Π° броя Π½Π° входящитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π·Π° всСки ΡΡŠΡ€Π²ΡŠΡ€: Π½Π°Π΄ 2 ΠΌΠ»Π½ MPS.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π˜Π·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ ΠΈ ΠΏΡ€Π΅Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° входящитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Бтатистика Π·Π° изходящитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: Π²ΠΈΠ½Π°Π³ΠΈ само Π΅Π΄ΠΈΠ½ възСл ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° β€” Ρ€Π΅ΠΉΠ΄Π±ΠΎΡΡŠΡ‚.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Бтатистика Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° всСки възСл, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° систСмата.

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π”Π΅Ρ‚Π°ΠΉΠ»ΠΈ Π·Π° входящитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ са скрити).

Bioyino β€” Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Какво ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ с всичко Ρ‚ΠΎΠ²Π° Π·Π°Π½Π°ΠΏΡ€Π΅Π΄? Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‰Π΅ пишСм ΠΊΠΎΠ΄, бл…! ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π±Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ open-source ΠΈ Ρ‰Π΅ останС Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€Π΅Π· цСлия си ΠΆΠΈΠ²ΠΎΡ‚. Π’ Π±Π»ΠΈΠ·ΠΊΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ β€” ΠΏΡ€Π΅Ρ…ΠΎΠ΄ към собствСна вСрсия Π½Π° Raft, смяна Π½Π° peer-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° с ΠΏΠΎ-прСносим, добавянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π° статистика, Π½ΠΎΠ²ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, поправянС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ подобрСния.

Π Π°Π·Π±ΠΈΡ€Π° сС, всСки, ΠΊΠΎΠΉΡ‚ΠΎ ΠΆΠ΅Π»Π°Π΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΅ Π΄ΠΎΠ±Ρ€Π΅ дошъл: ΡΡŠΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ PR, Issues, ΠΏΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Ρ‰Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‰Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ ΠΈ Ρ‚.Π½.

На Ρ‚ΠΎΠ²Π°, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΊΠ°Π·Π²Π°, Ρ‚ΠΎΠ²Π° Π΅ всичко, Ρ…ΠΎΡ€Π°, ΠΊΡƒΠΏΡƒΠ²Π°ΠΉΡ‚Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ слоновС!

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ


Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com
ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster