Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΌΠ½Π΅ ΠΌΠΎΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΏΠΈΠΊ Ρ…Π°ΠΉΠΏΠ° ΠΏΠΎ микросСрвисам остался ΠΏΠΎΠ·Π°Π΄ΠΈ. ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π· Π² нСдСлю посты «Как я пСрСнСс свой ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ Π½Π° 150 сСрвисов». Π’Π΅ΠΏΠ΅Ρ€ΡŒ я Ρ‡Π°Ρ‰Π΅ ΡΠ»Ρ‹ΡˆΡƒ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ мысли: Β«Π― Π½Π΅ Π½Π΅Π½Π°Π²ΠΈΠΆΡƒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚, я просто Π·Π°Π±ΠΎΡ‡ΡƒΡΡŒ ΠΎΠ± эффСктивности». ΠœΡ‹ Π΄Π°ΠΆΠ΅ наблюдали нСсколько ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ микросСрвисов ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρƒ. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ большого прилоТСния ΠΊ нСскольким слуТбам мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Π°ΠΌ придётся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ нСсколько Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ ΠΈΡ… максимально ΠΊΡ€Π°Ρ‚ΠΊΠΎ.

Установка: ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ…ΠΈΠΌΠΈΠΈ ΠΊ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ΅

Настройка Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π‘Π” ΠΈ прилоТСния с Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ процСссом Π±Ρ‹Π»Π° довольно Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΌ процСссом. Π― ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ readme Π½Π° GithubΒ β€” ΠΈ часто Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ час, максимум, ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ часов, всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° я Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ запуск ΠΊΠΎΠ΄Π°, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ срСды, дСлаСтся Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΆΠ΅ дСнь. Но Ссли ΠΌΡ‹ ΠΎΡ‚Π²Π°ΠΆΠΈΠ»ΠΈΡΡŒ Π½Π° микросСрвисы, врСмя ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ запуска Π²Π·Π»Π΅Ρ‚Π°Π΅Ρ‚ Π΄ΠΎ нСбСс. Π”Π°, сСйчас Ρƒ нас Π΅ΡΡ‚ΡŒ Docker с оркСстровкой ΠΈ кластСр машин K8, Π½ΠΎ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ программиста всё это Π½Π° порядок слоТнСС. Для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄ΠΆΡƒΠ½ΠΈΠΎΡ€ΠΎΠ² это брСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ.

БистСму нСпросто ΠΏΠΎΠ½ΡΡ‚ΡŒ

На ΠΌΠΈΠ½ΡƒΡ‚ΠΊΡƒ остановимся Π½Π° нашСм Π΄ΠΆΡƒΠ½ΠΈΠΎΡ€Π΅. Π‘ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌΠΈ прилоТСниями Π² случаС возникновСния ошибки Π΅Ρ‘ Π»Π΅Π³ΠΊΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈ сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ слуТба, которая Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅Ρ‚ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ слуТбой, которая ставит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° шинС сообщСний, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΡƒΡŽ слуТбу — ΠΈ Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ всС эти части, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ слуТба А Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² вСрсии 11, Π° слуТба Π• ΡƒΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ 12. Π­Ρ‚ΠΎ сильно отличаСтся ΠΎΡ‚ ΠΌΠΎΠ΅Π³ΠΎ стандартного консолидированного ΠΆΡƒΡ€Π½Π°Π»Π°: приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»/ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· процСсс шаг Π·Π° шагом. ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎ сути стали слоТнСС.

Если нСльзя ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ ΠΈΡ… протСстируСм

НСпрСрывная интСграция ΠΈ нСпрСрывная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² настоящСС врСмя становятся ΠΎΠ±Ρ‰ΠΈΠΌ мСстом. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π²ΠΈΠΆΡƒ, с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ автоматичСски ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ тСсты ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСсты ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄ рСгистрациСй. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ процСссы, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСльзя ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΎΠ½ΠΈ стали большим сдвигом для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сСрвис, я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ своСго прилоТСния. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Ρ‚ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° с кластСром K8 ΠΈΠ· 150 сСрвисов? Ну, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠΌ Π½Π°ΡˆΡƒ систСму CI, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ всС эти систСмы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‡Ρ‚ΠΎ всё Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ВСроятно, это слишком ΠΌΠ½ΠΎΠ³ΠΎ усилий, поэтому ΠΌΡ‹ просто ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ протСстируСм ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ: я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ наши спСцификации достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΈ, API чисты, Π° ΠΎΡ‚ΠΊΠ°Π· слуТбы ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π½Π΅ повлияСт Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π£ всСх компромиссов Π΅ΡΡ‚ΡŒ вСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°. Π’Π΅Ρ€Π½ΠΎ?

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° микросСрвисы. Π― Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ это Π΄Π΅Π»Π°ΡŽΡ‚ для большСй гибкости, для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Но Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΡ‹ Π²Π»ΠΎΠΆΠΈΠ»ΠΈ дСсятилСтия Π² инструмСнтарий ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с профСссионалами Π² Ρ€Π°Π·Π½Ρ‹Ρ… тСхнологиях. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π»ΠΈΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Postgres. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² посвящСна ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π‘Π”.

Но ΠΌΠ½Π΅ всСгда интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. На ΠΊΠ°ΠΊΠΎΠΌ этапС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ микросСрвисам ΠΎΠ½ΠΈ находятся. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ всё большС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² говорят, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ своим ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Многим микросСрвисы принСсут ΠΏΠΎΠ»ΡŒΠ·Ρƒ, Π° Π²Ρ‹Π³ΠΎΠ΄Ρ‹ пСрСвСсят ΡƒΡ…Π°Π±Ρ‹ Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. Но Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π΄Π°ΠΉΡ‚Π΅, поТалуйста, ΠΌΠΎΡ‘ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, мСсто Π½Π° пляТС — ΠΈ я ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ счастлив.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ