ΠΡ 2019 Π³. Π ΡΡΠΈΡ ΠΈΠΌΠ° Π·Π°ΠΊΠΎΠ½ Π·Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅. ΠΠ°ΠΊΠΎΠ½ΡΡ Π½Π΅ Π²Π°ΠΆΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π³ΡΡΠΏΠΈ ΡΡΠΎΠΊΠΈ, Π° Π΄Π°ΡΠΈΡΠ΅ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΡΠΈΠ»Π° Π½Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π·Π° Π³ΡΡΠΏΠΈΡΠ΅ ΡΡΠΎΠΊΠΈ ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. Π’ΡΡΡΠ½ΡΡ, ΠΎΠ±ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ Π»Π΅ΠΊΠ°ΡΡΡΠ²Π°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΡΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ Π½Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅, Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΡΡΡΠΌΠΈ, ΡΠ΅ΠΊΡΡΠΈΠ» ΠΈ ΠΌΠ»ΡΠΊΠΎ. Π’Π°Π·ΠΈ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»Π½Π° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΡ ΠΏΠΎΠ΄ΡΠΈΠΊΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΠ’ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΆΠΈΠ·Π½Π΅Π½Π° Π²Π΅ΡΠΈΠ³Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π΄ΠΎ ΠΏΠΎΠΊΡΠΏΠΊΠ°ΡΠ° ΠΎΡ ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», Π΄ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ°: ΠΊΠ°ΠΊΡΠΎ ΡΠ°ΠΌΠ°ΡΠ° Π΄ΡΡΠΆΠ°Π²Π°, ΡΠ°ΠΊΠ° ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΎΠ΄Π°Π²Π°ΡΠΈ ΡΡΠΎΠΊΠΈ Ρ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅.
Π X5 ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΈ ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΠΈ Ρ Π΄ΡΡΠΆΠ°Π²Π°ΡΠ° ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈΡΠ΅, ΡΠ΅ Π½Π°ΡΠΈΡΠ° βΠΠ°ΡΠΊΡΡβ. ΠΠ΅ΠΊΠ° Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎ ΡΠ΅Π΄ ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΉ Π³ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ», ΠΊΠ°ΠΊΡΠ² Π΅ Π½Π΅Π³ΠΎΠ²ΠΈΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ ΠΈ Π·Π°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ Π³ΠΎΡΠ΄Π΅Π΅ΠΌ.
Real HighLoad
βΠΠ°ΡΠΊΡΡβ ΡΠ΅ΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ X5 ΠΈ Π΄ΡΡΠΆΠ°Π²Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ (GIS MP) Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ Π½Π°Ρ, ΠΈ ΡΡΠ»Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π² ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΡΡΡΠ½Π΅Π²ΠΈΡΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΡΠ²ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΡΠΎΠΊΠΈ, ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠ°ΠΌΠΈΠΎΠ½ Ρ ΡΠΈΠ³Π°ΡΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΠΎΠΊΠΎΠ»ΠΎ 600 000 ΠΏΠ°ΠΊΠ΅ΡΠ°, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΊΠΎΠ΄. Π Π·Π°Π΄Π°ΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈ Π·Π°ΠΊΠΎΠ½Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΡΠ°ΠΊΠ°Π²Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ»Π°Π΄ΠΎΠ²Π΅ ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈ ΠΈ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΠ±Π°ΡΠ° ΠΈΠΌ Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΠΊΡΠΏΡΠ²Π°Ρ. Π Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 125 000 ΠΏΠ°ΡΠΈΡΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Ρ ΠΈ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²ΡΡΠΊΠ° ΡΠ°ΠΊΠ°Π²Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΅ ΠΏΠΎΠΏΠ°Π΄Π½Π°Π»Π° Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°. Π’Π°ΠΊΠ°, ΠΊΠ°ΡΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠΈΡΠΊΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ.
ΠΠΊΠΈΠΏΡΡ Π
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Marcus ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° X5, ΡΠΎΠΉ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΊΠΈΠΏΡΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ Scrum. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΡΠ°ΡΡΠΈΡΠ° ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ Π»ΡΡΠΎ, Π½ΠΎ ΠΏΡΡΠ²ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π΄ΠΎΠΉΠ΄ΠΎΡ Π° Π΅Π΄Π²Π° ΠΏΡΠ΅Π· ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ β ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΡ Π½ΠΈ Π΅ΠΊΠΈΠΏ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ³Π»ΠΎΠ±Π΅Π½, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π±Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π±Π΅ΡΠ΅ Π·Π°ΠΊΡΠΏΠ΅Π½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅. Π‘Π΅Π³Π° Π΅ΠΊΠΈΠΏΡΡ ΠΈΠΌΠ° 16 Π΄ΡΡΠΈ, ΡΠ΅ΡΡΠΈΠΌΠ° ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΡΠ°ΡΡΠ²Π°Ρ Π² backend ΠΈ frontend ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΡΠΈΠΌΠ° ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π½Π°Π»ΠΈΠ·. ΠΡΠ΅ ΡΠ΅ΡΡΠΈΠΌΠ° Π΄ΡΡΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΡΡΠ½ΠΎ, ΡΠΎΠ²Π°ΡΠ½ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ SRE ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ.
ΠΠ΅ ΡΠ°ΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄ Π² Π½Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ; ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΌΠΎΠΌΡΠ΅ΡΠ° Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Ρ ΠΈ ΠΏΠΈΡΠ°Ρ Π°Π²ΡΠΎΡΠ΅ΡΡΠΎΠ²Π΅, Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ±ΡΡΡΠ°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΡΠ²Π΅ΡΠ²Π°ΠΌΠ΅ ΠΈ ΠΏΠΎΠΌΠ°Π³Π°ΠΌΠ΅ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΠΈ, ΠΈ Π΄Π° ΠΈΠΌ Π΄Π°Π²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΌΠ°Π»ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ, Π²ΡΡΡ Ρ ΠΊΠΎΠΈΡΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ.
ΠΠΎΡΠ°Π΄ΠΈ ΠΏΠ°Π½Π΄Π΅ΠΌΠΈΡΡΠ° ΠΎΡ ΠΊΠΎΡΠΎΠ½Π°Π²ΠΈΡΡΡ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡ ΠΌΠ΅ ΡΠ΅Π»ΠΈΡ Π΅ΠΊΠΈΠΏ Π½Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½Π° ΡΠ°Π±ΠΎΡΠ°; Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π² Jira ΠΈ GitLab Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ. ΠΠ΅ΡΠ΅ΡΠΈΡΠ΅, ΠΏΡΠ΅ΠΊΠ°ΡΠ°Π½ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ, ΠΏΠΎΠΊΠ°Π·Π°Ρ Π°, ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΅ΠΊΠΈΠΏΠ° Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π° Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π°, Π·Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½Π° ΠΊΠΎΠΌΡΠΎΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π»ΠΈΠΏΡΠ²Π°ΡΠ΅, Π±Π΅ΡΠ΅ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΠΆΠΈΠ²ΠΎ.
ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½Π° ΡΡΠ΅ΡΠ° Π½Π° Π΅ΠΊΠΈΠΏΠ°
Π‘ΡΠ΅ΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½Π° ΡΠ°Π±ΠΎΡΠ°
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ CI/CD ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° X5 Π΅ GitLab. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ½Π΅ 2-ΠΌΠ° ΠΊΠΎΠ»Π΅Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ΄ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΠΊΠΎΠ΄Π°. ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄ SonarQube ΠΈ JaCoCo Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ ΡΠΈΡΡ ΠΈ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΏΡΠ΅Π· ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΡΡΠ½ΠΎ, Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ.
ΠΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΡ βΠΠ°ΡΠΊΡΡβ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅ΡΠΈΠΌ ΡΠ΅Π΄ΠΈΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎ ΡΠ΅Π΄.
ΠΠ°Π΄Π°ΡΠ° 1. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
ΠΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΈΠ΅ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΎΠ±Π»Π°ΡΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠ»ΡΠΆΠ±ΠΈΡΠ΅. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ΅ Π΄Π° Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π² ΡΠΊΠ»Π°Π΄ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ°Π±Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΡΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΎΡ Π΄ΡΡΠΆΠ°Π²Π½ΠΈΡ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΈΡΠ΅ ΡΡΠΎΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ, ΡΠΈΠΉΡΠΎ Π±ΡΠΎΠΉ Π² Π΅Π΄Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π° 600000 XNUMX , ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ Π² ΡΠΊΠ»Π°Π΄Π° ΠΈ Π²ΡΡΠ½Π΅ΡΠ΅ ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΊΠ»Π°Π΄Π°. ΠΠΎ ΠΏΡΠ°ΡΠΊΠ°ΡΠ° ΠΎΡ ΡΠΊΠ»Π°Π΄ΠΎΠ²Π΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡ, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΠ°Π»ΠΊΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠΈΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Π±Π°Π·Π° Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΡΠΏΠΊΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΠΈΡΠ°ΠΌΠ΅ Kafka self-thems. Π’ΠΎΠ²Π° Π΅ ΠΌΠΎΠΌΠ΅Π½ΡΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Π±Π΅ ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΏΡΠΈ ΠΏΠΎ-ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
Π Π΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΎΡΠ΄Π΅Π»ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π’ΠΎΠ²Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠ΅ΡΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠ΅ API Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π΅Π· ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Ρ Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΡΠΈΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅Ρ OpenShift, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°, ΡΠ°ΠΊΠ° ΠΈ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ.
ΠΠ°Π΄Π°ΡΠ° 2. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π΅Π½ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°: Π‘Π°ΠΌΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π°ΡΠ° Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 600 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΡΠ°ΠΊΠ²Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π΄ΠΎ 5000 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ/ΡΠ΅ΠΊ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ Ρ Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°.
Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ ΡΡΠ΅Π· Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ Kafka ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. Π’ΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½ΠΈΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΠ±ΠΈΡΠΈΡ ΡΡΠ΅Π· Π±ΡΠΎΠΊΠ΅ΡΠ°, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ·Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π’Π°ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π² Kafka ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΈ Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅, Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ ΡΡΠΎΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π°Ρ Ρ ΠΊΠΎΠ»Π°, Π² ΠΊΠ°ΡΠΎΠ½ΠΈ. ΠΠ° ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Kafka Π½ΠΈ ΠΈΠ·ΠΏΡΠ°Π²ΠΈ ΠΏΡΠ΅Π΄ Π΄ΡΡΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²ΠΎ - ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π½Π° Kafka, ΠΏΡΠ°Π²ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈ ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ. Π Π΅ΡΠΈΡ
ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ
ΠΌΠ΅ Π½Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Embedded Kafka Broker. Π’ΠΎΠ²Π° Π½Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, Π½ΠΎ Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Kafka.
ΠΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ½Π°ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΡ TraceId Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅ Π·Π°Π³ΡΠ±Π΅Π½, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Kafka batch. Π Π°ΠΊΠΎ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ ΠΎΡΠΎΠ±Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΡΠ²ΠΈΡ, ΡΠΎΠ³Π°Π²Π° Π²ΡΠ² Π²ΡΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ TraceIds, Ρ ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΠΉΠ΄Π΅ ΠΏΠ°ΡΡΠΈΠ΄Π°ΡΠ°, ΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½, Π·Π° Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ TraceId, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠ»ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ.
ΠΠ°Π΄Π°ΡΠ° 3. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΈ: ΠΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ Π΅ΡΠΈΠΊΠ΅ΡΠ° Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΡΡΡΡΠ½ ΠΈΠ΄Π²Π°Ρ Π² X5. Π’Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΠΈ Π±ΡΡΠ· Π΄ΠΎΡΡΡΠΏ. ΠΠ±ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ ΠΎΠΊΠΎΠ»ΠΎ 10 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π·Π°ΠΏΠΈΡΠ° ΠΎΡ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΡΠΎΠΊΠΈ.
ΠΠ° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½Π° NoSQL Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ MongoDB. ΠΠ·Π³ΡΠ°Π΄ΠΈΡ ΠΌΠ΅ ΡΠ°ΡΠ΄ ΠΎΡ 5 Π²ΡΠ·Π΅Π»Π° ΠΈ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΎΡ 3 ΡΡΡΠ²ΡΡΠ°. Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. Π’ΡΠΊ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ Π΄ΡΡΠ³ ΠΏΡΠΎΠ±Π»Π΅ΠΌ - ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΡ Π² mongo ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄Π½Π° ΠΎΡ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΠΎΠΏΠΈΡΠΈ Π·Π° ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΆΠ±Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΡΡΡ ΡΡΡΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°ΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅. Π’ΡΠΊ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π½Π°ΡΠ»Π°Π³Π²Π°Π½ΠΈΡ Ρ Π³ΡΠ΅ΡΠ½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ Π³ΡΠ΅ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡ ΠΊΠ°ΡΠΈΠ΅ΡΠΈ. ΠΠΈΠ΅ ΠΎΡΠΊΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π² Π΅Π΄Π½Π° ΠΏΠ°ΡΡΠΈΠ΄Π° Π½Π° Kafka, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°, ΡΠ°ΠΊΠ° ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΄Π²Π΅ ΠΏΠ°ΡΡΠΈΠ΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΈ ΡΡΠ΅Π· Π·Π°ΡΠ²ΠΊΠ° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π΅ Π΄Π°Π΄Π΅ Π½ΠΈΡΠΎ. ΠΠ° Π²ΡΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² ΠΏΠ°ΡΡΠΈΠ΄Π° ΠΈ ΠΎΡΠ΄Π΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΈ ΠΏΡΠΈ Π²ΠΌΡΠΊΠ²Π°Π½Π΅.
ΠΠ° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Ρ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π½Π΅ Π·Π°ΡΡΠ³Π° Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ - ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈΡ ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΡΡΠ»ΡΠ³Π° Ρ ΠΎΡΠ΄Π΅Π»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΡΡΠΎ ΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ΅Π· Kafka . ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ»ΡΠ³Π°, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π°Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅ΠΊΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°Π΄Π°ΡΠ° 4: ΠΠΎΠ²ΡΠΎΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°:
Π ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠΏΠ°ΡΠΊΠΈ ΠΈ Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ. Π ΡΠ»ΡΡΠ°Ρ Ρ Marcus ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΡΡ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° Π³ΡΠ΅ΡΠΊΠΈ Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π³ΡΠ΅ΡΠ½ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π½Π΅ ΡΠΏΠΈΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² Π³Π»Π°Π²Π½Π°ΡΠ° ΠΎΠΏΠ°ΡΠΊΠ°. ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Π» Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½Π° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ βΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ ΠΎΠΏΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ΅ΠΌΠ°β. ΠΠ° Π²ΡΡΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ΅ΠΌΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ ΠΎΠΏΠΈΡ, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π³ΡΠ΅ΡΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅ΠΌΠ°. Π‘Ρ Π΅ΠΌΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ -
ΠΠ° Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΡΡ
Π΅ΠΌΠ°, Π½ΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ: Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Spring ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ Π΄ΡΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄. ΠΠΎΠΊΠ°ΡΠΎ ΡΡΡΡΠΈΡΠ°Ρ
ΠΌΠ΅ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ
ΠΌΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° Spring BeanPostProccessor, Π½ΠΎ Π½ΠΈ ΡΠ΅ ΡΡΠΎΡΠΈ Π½Π΅Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠΌΠ°Π²ΠΎ. ΠΠ°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ Π² ΠΏΡΠΎΠ»Π΅ΡΠ½ΠΈΡ ΡΠΈΠΊΡΠ» Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ ΠΎΠΏΠΈΡ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ
ΠΌΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π½Π° Spring, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅
ΠΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΡΠ»Π΅Π΄ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ, ΡΠΎ ΠΎΡΠΈΠ²Π° ΠΊΡΠΌ DLT (ΡΠ΅ΠΌΠ° Π·Π° ΠΌΡΡΡΠ²ΠΎ ΠΏΠΈΡΠΌΠΎ) Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Spring DeadLetterPublishingRecoverer. ΠΠΎ ΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° ΡΠ°Π·ΡΠΈΡΠΈΡ ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈ ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² DLT, stackTrace, traceId ΠΈ Π΄ΡΡΠ³Π° ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΡ . Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π²ΡΠΈΡΠΊΠΈ DLT ΡΠ΅ΠΌΠΈ Π±ΡΡ Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π³Π° Π²ΡΡΡΠ½ΠΎΡΡ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² DLT ΡΠ΅ΠΌΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ - ΠΏΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° Π²Π΅Π΄Π½Π°Π³Π° ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ Π½Π° ΠΊΠΎΡ ΡΡΡΠΏΠΊΠ° ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠ° Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΡΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π°.
Π‘ΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ
ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ½ΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°) ΠΈ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅ΠΊΡ Π·Π° Π°Π½Π°Π»ΠΈΠ·. Π’ΡΠΊ ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ: Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΄ΡΠ»Π³Π° Π²Π΅ΡΠΈΠ³Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Ρ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΡ ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΡΡΡΠΏΠΊΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎ, Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ ΠΏΡΠ°ΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΎΡΡΠΊΠΈ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈ. ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΠΈΠ»ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ βΠ’ΡΡΡΠ½β ΠΈ βΠΠ±ΡΠ²ΠΊΠΈβ.
Π¦Π΅Π»ΠΈΡΡ Π½ΠΈ Π΅ΠΊΠΈΠΏ ΡΡΠ°ΡΡΠ²Π° Π² ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΈΠ»ΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅.
ΠΠ° Π΄Π° Π½Π΅ ΠΏΠΎΠ²ΡΠ°ΡΡΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ, Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΎΡΠΊΡΠΈΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΈΠ»ΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΡ, ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π°Π²ΡΠΎΡΠ΅ΡΡΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΠ΅Π³ΡΠ΅ΡΠΈΠΎΠ½Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π°ΠΊΡΡΠ°Π»Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ°.
Π‘Π΅Π³Π° Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°Π²ΡΠΌΠ΅ ΠΏΡΠ΅Π΄ Π½ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π°. ΠΠΊΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅, ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com