Π’Π°ΠΊΠ° ΡΠ΅ ΡΡΠ±ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π’Π°ΠΊΠΈΠ²Π°, ΠΊΠ°ΠΊΠ²ΠΈΡΠΎ ΡΠΌΠ΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅ΡΠ°. ΠΠ½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΏΡΡΠ²Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ - ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΡ statsd ΡΡΡΠ²ΡΡ Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅
ΠΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ Π½ΠΈ ΡΡΠ°ΡΠΈΠΈ (
ΠΡΠ΅ΡΠ΅Π½ΡΠΈΡ 1. Github, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΏΡΡ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°: ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ΅ΠΌΠ° Π½Π°ΡΠΈΡ ΠΈ (Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π°ΡΠΈΡ) PR. ΠΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° (Π½ΡΠΊΡΠ΄Π΅ ΠΎΡ ΡΠ΅Π²ΡΡΠ°ΡΠΈ-ΠΌΠ°ΡΡ 2018 Π³.) Π΄Π΅ΠΉΠ½ΠΎΡΡΡΠ° ΡΠ΅ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΡΡΠΈ 2 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΡΠ»Π½ΠΎ Π·Π°ΡΠΈΡΠΈΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°
ΠΡΠ΅ΡΠ΅Π½ΡΠΈΡ 2. Π’ΠΎΡΠ½ΠΎΡΡ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ°. Brubeck ΡΡΠ±ΠΈΡΠ° ΠΎΠ±ΡΠΎ 65536 30 ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, Π·Π° Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π½Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ (1 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ), ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ (527 392 XNUMX Π² ΠΏΠΈΠΊΠ°). Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠ°:
ΠΠ°ΠΊΡΠΎ ΡΠΈ Π±Π΅ΡΠ΅
ΠΠ°ΠΊ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅
ΠΠΎ ΡΡΡΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΠΌΠΈΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΡΠΊ Π±ΡΠ³ Ρ 32-Π±ΠΈΡΠΎΠ²ΠΎ ΠΏΠ»Π°Π²Π°ΡΠΎ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΡΠ²ΡΡΠ° Π½Π° segfault ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ΄Π½ΠΎ Π½Π΅Π²ΠΈΠ½Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΡΠ°Π²Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎ. ΠΡΠ΅ΡΠΊΠ°ΡΠ°, ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, Π½Π΅ Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π°.
Π, Π½Π°ΠΊΡΠ°Ρ, ΠΡΠ΅ΡΠ΅Π½ΡΠΈΡ X. ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΈΡΠ°Π½Π΅ ΡΠΌΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π½Π° Π²ΡΠΈΡΠΊΠΈ 14 ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° statsd, ΠΊΠΎΠΈΡΠΎ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ. ΠΠ΅ΠΊΠ° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΠ΅ Π΅Π΄Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π΅ Π½Π°ΡΠ°ΡΠ½Π°Π»Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ. ΠΠ»ΠΈ Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π½Π°ΡΠ°ΡΠ½Π°Π», Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΈ Π·Π° Π²Π°Ρ, ΡΠ΅ Π΄ΠΎΡΠΈ ΠΊΡΠ°ΡΠΊΠΈ, 2-3 ΠΌΠΈΠ½ΡΡΠ½ΠΈ ΡΠΏΠ°Π΄ΠΎΠ²Π΅ Π² ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°Π½Π°Ρ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΈ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈ Π½Π° Π½Π΅ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠ° Π΄Π΅ΠΏΡΠ΅ΡΠΈΡ ΡΡΠ΅Π΄ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π΅ΠΏΡΠ΅ΡΠΈΡ Π΅ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½Π° Π·Π°Π΄Π°ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΡΠ²ΠΎ, ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π²Π½Π΅Π·Π°ΠΏΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π° ΡΡΡΠ²ΡΡΠ° Π΄Π° Π½Π΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡΠΈΡ ΠΈΠ°ΡΡΠΈΡΠ΅Π½ Π·ΠΎΠΌΠ±ΠΈ Π°ΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡ Π² ΠΎΡΠΈΡΠ°. ΠΡΠΎΡΠΎ, ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS, Π±Π΅Π· Π΄Π° ΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠ»Π±ΠΎΠΊΠΎ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ Π½Π° Linux ΠΈ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π΄Π° ΡΠ°ΡΡΠ΅ΡΠ΅ βΠ½Π° ΡΠΈΡΠΈΠ½Π°β Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°Ρ
ΠΌΠ΅ ΠΌΡΡΡΠΎ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, ΡΠ΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ. "ΠΠ’ΠΠΠ‘ΠΠ! Π’ΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ! ΠΡΠΎΡΡΠΎ Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌβ, ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡ
ΠΌΠ΅ ΡΠΈ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Ρ
ΠΌΠ΅ 2 ΡΡΡΠ²ΡΡΠ°, ΠΊΠ°ΡΠΎ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΈΠ·Π΄ΠΈΠ³Π½Π°Ρ
ΠΌΠ΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° brubeck. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΡΡΠ°ΡΠΈΠΊ Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Π΄Π²Π°ΡΠ° ΡΡΡΠ²ΡΡΠ° ΠΈ Π΄ΠΎΡΠΈ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ Π·Π° ΡΠΎΠ²Π°
ΠΠΊΠΎ ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΏΠ°Π΅ΡΠ΅ ΡΠ½ΡΠ³ Ρ Π»ΠΎΠΏΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ Ρ
ΡΡΠΌΠ½Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π° ΠΈΠ΄Π΅Ρ: ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ statsd, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π’ΠΎΠ΅ΡΡ ΡΠ°ΠΊΡΠ², ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅. βΠ Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ°ΠΊΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°β, ΠΊΠ°Π·Π°Ρ
ΠΌΠ΅ Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΠ΄ΠΎΡ
ΠΌΠ΅ Π² Googleβ¦. Π Π½Π΅ Π½Π°ΠΌΠ΅ΡΠΈΡ
Π° Π½ΠΈΡΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ statsd (
Π ΡΠΎΠ³Π°Π²Π° ΡΠΈ ΡΠΏΠΎΠΌΠ½ΠΈΡ ΠΌΠ΅ Π·Π° βΠΈΠ³ΡΠ°ΡΠΊΠ°ΡΠ°β statsd - bioyino, ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Ρ Π°ΠΊΠ°ΡΠΎΠ½Π° Just for Fun (ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΎ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Ρ Π°ΠΊΠ°ΡΠΎΠ½Π°) ΠΈ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° statsd. ΠΠ° ΠΊΠ°ΠΊΠ²ΠΎ?
- Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ° ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ΠΈ Π½Π° statsd Π² ΡΠ²Π΅ΡΠ°,
- ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΠΈΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ),
- ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Brubeck ΠΏΡΠ°Π²ΠΈ,
- ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ brubeck Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π΅ Π½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ,
- ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌ ΠΌΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Ρ ΠΈΠΏΠ΅ΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° distributedscalelabplication, ΠΊΠΎΡΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ²ΡΠΎΡΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ·Π°... Π΄ΠΎΠ±ΡΠ΅, ΡΠΎΠ²Π° Π΅.
ΠΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΠΈΡΠ°? Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π² Rust. ΠΠ°ΡΠΎ?
- Π·Π°ΡΠΎΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅,
- ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΡΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ Rust ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½ΡΠΌΠ°ΡΠ΅ ΡΡΡΠΏΠ΅Π½ΠΈΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ Π½Π΅ΡΠΎ Π² Π½Π΅Ρ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈ Π² ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄,
- Π·Π°ΡΠΎΡΠΎ Π΅Π·ΠΈΡΠΈΡΠ΅ Ρ GC Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° Π½Π°Ρ ΠΏΠΎΡΠ°Π΄ΠΈ Π΅ΡΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ (ΠΏΠΎΡΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅) ΠΈ GC ΠΏΠ°ΡΠ·ΠΈΡΠ΅ ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΈ,
- Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΡΠ°Π²Π½ΠΈΠΌΠ° Ρ C
- Π·Π°ΡΠΎΡΠΎ Rust Π½ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π±Π΅Π·ΡΡΡΠ°ΡΠ½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ ΠΈ Π°ΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° Π³ΠΎ ΠΏΠΈΡΠ΅ΠΌ Π½Π° C/C++, ΡΡΡ ΠΌΠ΅ Π΄Π° Π½Π°ΡΡΡΠΏΠ°ΠΌΠ΅ ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠΈ, ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ°ΡΠ½ΠΈ Π΄ΡΠΌΠΈ ΠΎΡ brubeck.
ΠΠΌΠ°ΡΠ΅ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ΅ΡΡ Rust. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Π½ΡΠΌΠ°ΡΠ΅ ΠΎΠΏΠΈΡ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² Rust ΠΈ ΡΠ΅Π³Π° ΡΡΡΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΡΠΎΠ²Π° ΠΈΠΌΠ°ΡΠ΅ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΡΡΡΠ°Ρ ΠΎΠ²Π΅, ΡΠ΅ Π½ΠΈΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ, Π½ΠΎ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠΈΡΠΊΡΠ²Π°ΠΌΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅.
ΠΠΈΠ½Π° Π²ΡΠ΅ΠΌΠ΅...
ΠΠ°ΠΉ-Π½Π°ΠΊΡΠ°Ρ, ΡΠ»Π΅Π΄ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΎΠΏΠΈΡΠ°, ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΡ Π±Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Π°. ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π½Π°? ΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ.
ΠΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π³ΠΈ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ° ΠΈ Π½Π΅ Π°Π³ΡΠ΅Π³ΠΈΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΡΠ΅Π·ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΡ ΠΏΡΠ»Π΅Π½ Π½Π°Π±ΠΎΡ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π·Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎΡΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅. ΠΡΠ·Π»ΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΡΡΠ΅Π· Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΡΠ΅Π΄ ΡΡΡ
Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡ (ΡΡΠΊ ΠΏΠ»Π°ΠΊΠ°Ρ
ΠΌΠ΅), ΠΊΠΎΠΉΡΠΎ Π΅ Π΄ΠΎΡΡΠΎΠ΅Π½ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΠΠ΅Π»ΠΈΠΊΠΈΡ. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° ΠΎΡ
UDP ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ° Π½Π΅Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΡΡΠ΅Π· ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Round Robin. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π½Π°Π΅ Π½ΠΈΡΠΎ. ΠΠΊΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π΅ ΠΈΠ΄Π²Π°Ρ Π΅Π΄ΠΈΠ½ ΠΏΠΎ Π΅Π΄ΠΈΠ½ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΎΠ³Π°Π²Π° Π½Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΎΠ²Π° ΠΌΡΡΡΠΎ. ΠΠΊΠΎ ΡΡΡΠ²ΡΡ ΡΠ΅ ΡΡΠΈΠ½Π΅, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΡΠ·ΠΎ (Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 1-2 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ) ΠΎΡΠΊΡΠΈΠ²Π° ΡΠΎΠ·ΠΈ ΡΠ°ΠΊΡ ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΡΡΠΈΠ½Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ ΠΎΡ ΡΠΎΡΠ°ΡΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΏΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ (Ρ.Π΅. Π½Π΅Π»ΠΈΠ΄Π΅ΡΠ½ΠΈ) Π²ΡΠ·Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π²Π°Ρ ΡΡΠ²ΠΎΡΠ²Π°Π½ΠΈΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅. ΠΠ°ΠΊΡΠΈΠΌΡΠΌΡΡ, ΠΊΠΎΠΉΡΠΎ Π³ΡΠ±ΠΈΠΌ, Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π²Π»Π΅Π·Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ½Π΅Π·Π°ΠΏΠ½Π° Π·Π°Π³ΡΠ±Π°/ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅/ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π»ΠΈΠ΄Π΅Ρ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΌΠ°Π»ΠΊΠ° Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ (ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΡ ΠΎΡ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½), Π½ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅, ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ .
ΠΠ°Π»ΠΊΠΎ Π·Π° Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΎ, Π½ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½ΠΈΡΠΊΠΈΡΠ΅ Π΅ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΎΡ ΡΠ°Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² brubeck. ΠΠΈΡΠΊΠΈΡΠ΅ Π² brubeck ΡΠ° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ - Π²ΡΡΠΊΠ° ΠΎΡ ΡΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π bioyino ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΈ: ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΈ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡΠ°. Π’ΠΎΠ²Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π²ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²ΠΈΠ΄Π° Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅: ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ°ΡΠΈΠΊ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌ Π² 8 ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈ 4 Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΡΠΎΠ΅Π½Π΅ΡΠΎ (ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎ Π·Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡΠ°) Π΅ Π΄ΠΎΡΡΠ° ΡΠΊΡΡΠ½ΠΎ. ΠΡΡΠ΅ΡΠΈΡΠ΅, Π·Π°ΠΏΡΠ»Π½Π΅Π½ΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΡΠΎΡΠΈ, ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Ρ. ΠΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅ ΡΠ΅ Π΄Π°Π²Π°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π΄ΠΎ Π΄ΡΡΠ³ΠΈ Π²ΡΠ·Π»ΠΈ. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Consul, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ, ΡΠ°Π±ΠΎΡΠ΅ΠΉΠΊΠΈ Π²ΡΡΡ
Ρ ΡΠ°ΠΌΠΊΠ°ΡΠ°
ΠΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π±ΡΡ
Π° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠ°ΡΡ, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π±Π΅ΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΡΠΎΠΊΡΡ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π° Π½Π΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠΎΠΊΠ΅ΡΠ°. ΠΠΏΡΠΈΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π΅Π½ UDP ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ recvmsg, Π±ΡΡΠ·ΠΎ ΠΈΠ·ΡΠ΅Π·Π½Π°Ρ
Π°: ΠΏΡΡΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ, Π²ΡΠΎΡΠΈΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π±ΡΡΠ΅ΡΠ° Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌ. ΠΠΊΠΎ ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ ΡΡΡΠ²ΡΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°ΡΠ΅ Ρ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π»ΡΠΊ Π±ΡΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΏΡΠΈΡΡΠΈΠ³Π½Π°Ρ Π² Graphite, ΠΎΡΡΠ°Π²Π°ΠΉΠΊΠΈ Π² Π±ΡΡΠ΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊ. ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΠΌΠ°Π»ΡΠΊ Π±ΡΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ bufsize ΠΈ task-queue-size Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°.
Π Π½Π°ΠΊΡΠ°Ρ, Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ Π·Π° Π»ΡΠ±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈΡΠ΅.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° Π±ΡΠΎΡ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΡΠ²ΡΡ: ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° MPS.
ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ: ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π» Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° - ΡΠ΅ΡΡΡ Π½Π° Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΡΠΎ.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π», ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
ΠΠ΅ΡΠ°ΠΉΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ° ΡΠΊΡΠΈΡΠΈ).
ΠΠ°ΠΊΠ²ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Ρ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°? Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄, ΠΏΠΎ Π΄ΡΠ²ΠΎΠ»ΠΈΡΠ΅...! ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π±Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ Π΄Π° Π±ΡΠ΄Π΅ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ ΡΠ°ΠΊΡΠ² ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΡΠΈ ΠΆΠΈΠ²ΠΎΡ. ΠΠ°ΡΠΈΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Raft, ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° peer ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΊΡΠΌ ΠΏΠΎ-ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌ, ββΠ²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π²ΡΡΡΠ΅ΡΠ½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²ΡΠ΅ΠΊΠΈ Π΅ Π΄ΠΎΠ±ΡΠ΅ Π΄ΠΎΡΡΠ» Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° PR, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π°ΠΊΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΠΌ ΠΈ Ρ.Π½.
Π‘ ΡΠΎΠ²Π° ΠΊΠ°Π·Π°Π½ΠΎ, ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ, Ρ ΠΎΡΠ°, ΠΊΡΠΏΠ΅ΡΠ΅ Π½Π°ΡΠΈΡΠ΅ ΡΠ»ΠΎΠ½ΠΎΠ²Π΅!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com