ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ работя, сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° ΠΎΡ‚ голям ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ Π² Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ микросСрвизи.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π° историята си доста ΠΎΡ‚Π΄Π°Π²Π½Π°, Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° 2000-Ρ‚Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠŸΡŠΡ€Π²ΠΈΡ‚Π΅ вСрсии бяха написани Π½Π° Visual Basic 6. Π‘ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ стана ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ бъдС слоТна Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ IDE ΠΈ самият Π΅Π·ΠΈΠΊ сС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ слабо. Π’ края Π½Π° 2000-Ρ‚Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ Π½Π° ΠΏΠΎ-пСрспСктивния C#. Новата вСрсия сС писашС ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ с Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° старата, постСпСнно всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠ΄ Π±Π΅ Π½Π° .NET. Backend-ΡŠΡ‚ Π½Π° C# ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС насочСн към сСрвисна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° ΠΎΠ±Ρ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с Π»ΠΎΠ³ΠΈΠΊΠ°, Π° ΠΈ сСрвиситС сС стартираха Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ процСс. ΠŸΠΎΠ»ΡƒΡ‡ΠΈ сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°Ρ€ΠΈΡ‡Π°Ρ…ΠΌΠ΅ "сСрвисСн ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚".

Π•Π΄Π½ΠΎ ΠΎΡ‚ ΠΌΠ°Π»ΠΊΠΎΡ‚ΠΎ прСдимства Π½Π° Ρ‚Π°Π·ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ° бСшС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° сСрвиситС Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π΅Π΄ΠΈΠ½ Π΄Ρ€ΡƒΠ³ Ρ‡Ρ€Π΅Π· външно API. ИмашС ясни прСдпоставки Π·Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ към ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° сСрвисна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π° Π² пСрспСктива ΠΈ микросСрвисна Ρ‚Π°ΠΊΠ°Π²Π°.

Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си ΠΏΠΎ дСкомпозицията ΠΎΠΊΠΎΠ»ΠΎ 2015 Π³ΠΎΠ΄ΠΈΠ½Π°. ВсС ΠΎΡ‰Π΅ Π½Π΅ смС достигнали ΠΈΠ΄Π΅Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ β€” остават части ΠΎΡ‚ голСмия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Ρ€Π΅ΠΊΠ°Ρ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΈ, Π½ΠΎ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π°Ρ‚ Π½Π° микросСрвизи. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΡŠΡ‚ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½.
Π—Π° Π½Π΅Π³ΠΎ Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π² статията.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π‘ΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅

АрхитСктура ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅


ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° изглСТдашС ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½: UI β€” ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π°Ρ‚Π° част бСшС написана Π½Π° Visual Basic 6, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° .NET ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ²Π°ΡˆΠ΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ сСрвиси, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с доста голяма Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π•Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π·
ИмамeΡ…ΠΌΠ΅ Π΅Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π·: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° .NET сС ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡˆΠ΅ Π² Π΅Π΄ΠΈΠ½ процСс. Ако Π² някой ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ възникнСшС Π³Ρ€Π΅ΡˆΠΊΠ°, ΠΎΡ‚ΠΊΠ°Π·Π²Π°ΡˆΠ΅ цялото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° бъдС рСстартирано. Въй ΠΊΠ°Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ голямо количСство процСси Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΏΠΎΡ€Π°Π΄ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ° Π² Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях, Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° работят всички. А ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠ° Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°.

Опашка Π·Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ
Π’ΠΎΠ·ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π΅ ΠΏΠΎ-скоро ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½. Π’ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° мноТСство ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΈ всички Ρ‚Π΅ искат Π΄Π° Π³ΠΎ доработят възмоТно Π½Π°ΠΉ-скоро. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° бСшС нСвъзмоТно Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ, ΠΈ всички ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ оставаха Π² опашка. Π’ΠΎΠ·ΠΈ процСс ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡˆΠ΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²ΠΈΠ·ΡŠΠΌ Π² бизнСса, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π΄ΠΎΠΊΠ°ΠΆΠ°Ρ‚, Ρ‡Π΅ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΈΠΌ носи стойност. А Π΅ΠΊΠΈΠΏΡŠΡ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ…Π°Ρ€Ρ‡Π΅ΡˆΠ΅ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ опашка. Π’ΠΎΠ²Π° ΠΎΡ‚Π½Π΅ΠΌΠ°ΡˆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ усилия, Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΡŠΡ‚ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π½Π΅ моТСшС Π΄Π° сС промСня Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Ρ‚Π΅ искаха.

НСоптимално ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° рСсурситС
ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° услугитС Π² Π΅Π΄ΠΈΠ½Π΅Π½ процСс, Π½ΠΈΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ напълно ΠΊΠΎΠΏΠΈΡ€Π°Ρ…ΠΌΠ΅ конфигурацията ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€. Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π½Π°ΠΉ-Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈΡ‚Π΅ услуги ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Π·Π° Π΄Π° Π½Π΅ Ρ…Π°Ρ€Ρ‡ΠΈΠΌ рСсурситС Π½Π°ΠΏΡ€Π°Π·Π½ΠΎ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠΎ-гъвкаво ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° схСма Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅.

Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС внСдряват ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΠ·Π½Π°Ρ‚ Π½Π° всички Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ: ΠΈΠΌΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° сС внСдрят ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΠΎ няма Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. ΠŸΡ€ΠΈ голямо ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ всяко ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π°, сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² доста Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Врябва дълго Π΄Π° сС ΡƒΠ±Π΅ΠΆΠ΄Π°Π²Π° Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ΡŠΡ‚, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ донСсС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΠ»Π·ΠΈ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π°Π³ΡƒΠ±Π° Π½Π° Π½Π΅Ρ€Π²ΠΈ.

БлоТност Π½Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° измСнСния
Π’ΠΎΠ²Π° бСшС Π½Π°ΠΉ-сСриозният ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ β€” ΠΈΠ·Π΄Π°Π²Π°Ρ…ΠΌΠ΅ обновлСния Π½Π° всСки Π΄Π²Π° мСсСца.
Всяко ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°ΡˆΠ΅ Π² истинска катастрофа Π·Π° Π±Π°Π½ΠΊΠ°Ρ‚Π°, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ тСстовСтС ΠΈ усилията Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. Π‘ΠΈΠ·Π½Π΅ΡΡŠΡ‚ осъзнавашС, Ρ‡Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° сСдмицата част ΠΎΡ‚ функционалността няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. А Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π·Π½Π°Π΅Ρ…Π°, Ρ‡Π΅ Π³ΠΈ Ρ‡Π°ΠΊΠ° сСдмица с сСриозни ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ.
Π–Π΅Π»Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ситуацията бСшС Ρƒ всички.

ΠžΡ‡Π°ΠΊΠ²Π°Π½ΠΈΡ ΠΎΡ‚ микросСрвизитС


ИздаванС Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΏΠΎ готовност. ИздаванС Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΏΠΎ мярка Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° дСкомпозицията Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ отдСлянСто Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСси.

Малки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ Π΅ΠΊΠΈΠΏΠΈ. Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ с голям Π΅ΠΊΠΈΠΏ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π½Π°Π΄ стар ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ сС управлява. Вакъв Π΅ΠΊΠΈΠΏ Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ спорСд строг процСс, Π° ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ творчСство ΠΈ нСзависимост. Π’ΠΎΠ²Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° си позволят само ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ.

Π˜Π·ΠΎΠ»Π°Ρ†ΠΈΡ Π½Π° услугитС Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ процСси. Π’ идСалния случай искахмС Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°ΠΌΠ΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π½ΠΎ голямото количСство услуги, написани Π½Π° .NET Framework, сС стартират само ΠΏΠΎΠ΄ Windows. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС появяват услуги Π½Π° .NET Core, Π½ΠΎ всС ΠΎΡ‰Π΅ са ΠΌΠ°Π»ΠΊΠΎ.

Π“ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ. Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ услугитС ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, Π° Π½Π΅ ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π°Π²Π° ΠΊΠΎΠ΄ΡŠΡ‚.

ИзползванС Π½Π° Π½ΠΎΠ²ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π’ΠΎΠ²Π° Π΅ интСрСсно Π·Π° всСки програмист.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π°


Π Π°Π·Π±ΠΈΡ€Π° сС, Π°ΠΊΠΎ бСшС лСсно Π΄Π° сС Ρ€Π°Π·Π±ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΡŠΡ‚ Π½Π° микросСрвизи, нямашС Π΄Π° сС Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π° сС ΠΏΠΈΡˆΠ°Ρ‚ статии. Π’ Ρ‚ΠΎΠ·ΠΈ процСс ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΈ камъни, Ρ‰Π΅ опиша основнитС, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈ ΠΏΡ€Π΅Ρ‡Π΅Ρ…Π°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ Π΅Π΄Π½ΠΎ Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ Π·Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΈ: ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ Π½Π° бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ пишСм ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚, искамС Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ класовС, Π·Π° Π΄Π° Π½Π΅ пишСм излишСн ΠΊΠΎΠ΄. А ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ към микросСрвизи, Ρ‚ΠΎΠ²Π° става ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: цСлият ΠΊΠΎΠ΄ Π΅ доста строго ΡΠ²ΡŠΡ€Π·Π°Π½ ΠΈ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС раздСлят услугитС.

Към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°, Π² рСпозитория имашС Π½Π°Π΄ 500 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°Π΄ 700 хиляди Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ голямо Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ Π΄Π²Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄Π° взСмСш ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡˆ Π½Π° микросСрвизи Π½Π΅ сС ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΡˆΠ΅ възмоТно.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Ρ€ΠΈ β€” липса Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° инфраструктура. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π½ΠΈΠ΅ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ…ΠΌΠ΅ с Ρ€ΡŠΡ‡Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° изходния ΠΊΠΎΠ΄ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ.

Как Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° към микросСрвизитС


Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° микросСрвизитС

На ΠΏΡŠΡ€Π²ΠΎ място, Π²Π΅Π΄Π½Π°Π³Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ раздСлянСто Π½Π° микросСрвизитС Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ процСс. ΠžΡ‚ нас Π²ΠΈΠ½Π°Π³ΠΈ сС изисквашС ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π΄Π° Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° бизнСс Π·Π°Π΄Π°Ρ‡ΠΈ. Как тСхничСски Ρ‰Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° β€” Π²Π΅Ρ‡Π΅ Π΅ наш ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π—Π°Ρ‚ΠΎΠ²Π° сС подготвяхмС Π·Π° итСративния процСс. По Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½ Π½Π΅ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ голямо ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»Π½ΠΎ Π½Π΅ Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Π΄Π° бъдС прСнаписвано.

Кои ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° микросСрвизитС?

ΠŸΡŠΡ€Π²ΠΈ Π½Π°Ρ‡ΠΈΠ½ β€” Π΄Π° сС ΠΈΠ·Π²Π»ΠΈΡ‡Π°Ρ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ услуги. Π’ Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ ΠΊΡŠΡΠΌΠ΅Ρ‚: Π²Π΅Ρ‡Π΅ имашС ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ услуги, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ…Π° ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» WCF. Π’Π΅ бяха Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ сборки. ΠŸΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ…ΠΌΠ΅ Π³ΠΈ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, добавяйки към всяка сборка малък стартов ΠΌΠΎΠ΄ΡƒΠ». Π’ΠΎΠΉ бСшС написан с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° прСкрасната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Topshelf, която позволява стартиранС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ услуга, Ρ‚Π°ΠΊΠ° ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

УслугитС бяха ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΏΠΎ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° ΠΎΠ±Ρ‰ΠΈ сборки ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ…Π° с ΠΎΠ±Ρ‰Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π’Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ микросСрвизи Π² чист Π²ΠΈΠ΄. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅Ρ…ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ услуги Π΄Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСси. Π’ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ позволявашС Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ влияниСто ΠΈΠΌ Π΅Π΄Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ, намалявайки ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π΅Π΄ΠΈΠ½Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π·.

Π‘Π±ΠΎΡ€ΠΊΠ°Ρ‚Π° с хоста Π΅ само Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ ΠΊΠΎΠ΄ Π² класа Program. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Topshelf скрихмС Π² ΠΏΠΎΠΌΠΎΡ‰Π΅Π½ клас.

namespace RBA.Services.Accounts.Host
{
   internal class Program
   {
      private static void Main(string[] args)
      {
        HostRunner.Run("RBA.Services.Accounts.Host");

       }
    }
}

Вторият Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° микросСрвизи: Π΄Π° Π³ΠΈ създавамС Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Ако Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΡŠΡ‚ Π½Π΅ растС, Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π·Π½Π°Ρ‡ΠΈ сС Π΄Π²ΠΈΠΆΠΈΠΌ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° посока. Π—Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ сС стрСмяхмС Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ услуги. Ако имашС Ρ‚Π°ΠΊΠ°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚, ΡΡŠΠ·Π΄Π°Π²Π°Ρ…ΠΌΠ΅ ΠΏΠΎ-"ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½ΠΈ" услуги, ΠΊΠΎΠΈΡ‚ΠΎ напълно управляват своята ΠΌΠΎΠ΄Π΅Π»Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΎΡ‚Π΄Π΅Π»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

НиС, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ с услуги Π·Π° удостовСряванС ΠΈ авторизация. Π’Π΅ са ΠΈΠ΄Π΅Π°Π»Π½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. ОбикновСно са нСзависими ΠΈ ΠΈΠΌΠ°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΌΠΎΠ΄Π΅Π»Π½Π° Π΄Π°Π½Π½ΠΈ. Π’Π΅ сами Π½Π΅ взаимодСйстват с ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, само Ρ‚ΠΎΠΉ сС ΠΎΠ±Ρ€ΡŠΡ‰Π° към тях Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. На Ρ‚Π΅Π·ΠΈ услуги ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°ΠΏΠΎΡ‡Π½Π΅ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΡŠΡ‚ към Π½ΠΎΠ²Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π΄Π° сС отстраняват Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° тях, Π΄Π° сС ΠΏΡ€ΠΎΠ±Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ‚.Π½. Π’ Π½Π°ΡˆΠ°Ρ‚Π° организация няма Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° Π½Π΅ са успСли Π΄Π° направят услуга Π·Π° удостовСряванС.

ВрСтият Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° микросСрвизи, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, Π΅ ΠΌΠ°Π»ΠΊΠΎ спСцифичСн Π·Π° нас. Π‘Ρ‚Π°Π²Π° Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° изнСсСната бизнСс Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΡ‚ интСрфСйса. ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Π½ΠΈ UI ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ настолно ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚, Π΅ написано Π½Π° C#. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ правят Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ прСнасят Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° UI, която трябва Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π² Π±Π΅ΠΊΠ΅Π½Π΄Π° ΠΈ Π΄Π° сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ истински ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π½Π° UI частта, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ голяма част ΠΎΡ‚ Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° дСйствитСлна бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, която Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² Π΄Ρ€ΡƒΠ³ΠΈ процСси, Π½Π΅ само Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° UI Ρ„ΠΎΡ€ΠΌΠ°.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π˜ΡΡ‚ΠΈΠ½ΡΠΊΠ°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° UI Π΅ само Π² послСднитС Π΄Π²Π΅ Ρ€Π΅Π΄Π°. ΠŸΡ€Π΅Π½Π΅ΡΠΎΡ…ΠΌΠ΅ я Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° я ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ намалявамС UI ΠΈ постигамС ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.

Π§Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΈΡΡ‚, Π½Π°ΠΉ-Π²Π°ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° оформянС Π½Π° микросСрвизи, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, Π΅ изнасянСто Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ услуги с прСосмислянС. ΠšΠΎΠ³Π°Ρ‚ΠΎ изнасямС ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ са, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π°Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π° бизнСс ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π΅ могъл Π΄Π° остарСС. Π§Ρ€Π΅Π· Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Π½ΠΎΠ² бизнСс процСс, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ изискванията Π½Π° бизнСса Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС промСнят. МоТСм Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ изходния ΠΊΠΎΠ΄, Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ извСстни Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΈ ΠΈ Π΄Π° създадСм ΠΏΠΎ-качСствСна ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ. Π‘ΡŠΠ±ΠΈΡ€Π°Ρ‚ сС ΠΌΠ½ΠΎΠ³ΠΎ прСдимства.

ΠžΡ‚Π΄Π΅Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° услуги с прСосмислянС Π΅ Π½Π΅Ρ€Π°Π·Ρ€ΠΈΠ²Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с понятиСто Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ контСкст. Π’ΠΎΠ²Π° Π΅ концСпция ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅. Вя ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΡƒΡ‡Π°ΡΡ‚ΡŠΠΊ ΠΎΡ‚ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΌΠΎΠ΄Π΅Π», Π² ΠΊΠΎΠΉΡ‚ΠΎ всички Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ Π½Π° Π΅Π΄ΠΈΠ½Π΅Π½ Π΅Π·ΠΈΠΊ са Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ. НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с контСкста Π½Π° застраховкитС ΠΈ смСткитС. ИмамС ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ със смСтката Π² застраховкитС. ΠžΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅, Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈ Π² Π΄Ρ€ΡƒΠ³Π° сборка ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ клас β€žΠ‘ΠΌΠ΅Ρ‚ΠΊΠ°β€œ, Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ рСфСрСнция към Π½Π΅Π³ΠΎ ΠΎΡ‚ класа β€žΠ—Π°ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²ΠΊΠ°β€œ, ΠΈ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡŠΡ‚ DRY Ρ‰Π΅ бъдС спазСн, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ ΠΊΠΎΠ΄ Ρ‰Π΅ бъдС ΡΠ²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ контСкститС Π½Π° смСткитС ΠΈ застраховкитС са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС появят Π½ΠΎΠ²ΠΈ изисквания, Ρ‚Π°Π·ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ° Ρ‰Π΅ ΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΉΠΊΠΈ слоТността Π½Π° ΠΈ Π±Π΅Π· Ρ‚ΠΎΠ²Π° слоТната бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°. Π—Π° Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠΎΠ΄Π° Π΄Π° сС открият Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ контСкститС ΠΈ Π΄Π° сС отстранят Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ. НапримСр, Π½Π° контСкста Π½Π° застраховкитС, цялостно, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ 20-Π·Π½Π°Ρ‡Π΅Π½ Π½ΠΎΠΌΠ΅Ρ€ Π½Π° смСтка Π½Π° Π¦Π‘ ΠΈ Π΄Π°Ρ‚Π° Π½Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° смСтка.

Π—Π° Π΄Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Ρ‚Π΅Π·ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ контСксти Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ процСса ΠΏΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° микросСрвизи ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π½Π° създаванС Π½Π° външни API Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Ако Π·Π½Π°Π΅Ρ…ΠΌΠ΅, Ρ‡Π΅ Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» трябва Π΄Π° станС микросСрвис, ΠΈΠ»ΠΈ Π΄Π° сС видоизмСня Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° процСса, Π²Π΅Π΄Π½Π°Π³Π° ΠΏΡ€Π°Π²Π΅Ρ…ΠΌΠ΅ извиквания Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π°, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π° Π½Π° Π΄Ρ€ΡƒΠ³ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ контСкст, Ρ‡Ρ€Π΅Π· външни извиквания. НапримСр, Ρ‡Ρ€Π΅Π· REST ΠΈΠ»ΠΈ WCF.

НиС Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ бСзусловно, Ρ‡Π΅ няма Π΄Π° избягвамС ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ изисква Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’ нашия случай сС ΠΎΠΊΠ°Π·Π° сравнитСлно лСсно Π΄Π° спазвамС Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ. Π”ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π΅ смС ΠΈΠΌΠ°Π»ΠΈ ситуации, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ дСйствитСлно Π΄Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ТСстоки Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ β€” напълно Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π° ΠΊΡ€Π°ΠΉΠ½Π° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ИмамС понятиСто оркСстратор β€” ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° β€žΠ·Π°ΡΠ²ΠΊΠ°β€œ. Π’ΠΎΠΉ послСдоватСлно създава ΠΊΠ»ΠΈΠ΅Π½Ρ‚, смСтка ΠΈ Π±Π°Π½ΠΊΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚Π°. Ако ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΈ смСтката са създадСни ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π΅ ΠΏΡ€ΠΎΠ²Π°Π»Π΅Π½ΠΎ, заявката Π½Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Π² статус β€žΡƒΡΠΏΠ΅ΡˆΠ½ΠΎβ€œ ΠΈ остава Π² статус β€žΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π½Π΅ Π΅ ΡΡŠΠ·Π΄Π°Π΄Π΅Π½Π°β€œ. Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ„ΠΎΠ½ΠΎΠ²Π° активност Ρ‰Π΅ я ΠΏΠΎΠ΄Π΅ΠΌΠ΅ ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠΈ. БистСмата остава извСстно Π²Ρ€Π΅ΠΌΠ΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° Π½Π΅ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚, Π½ΠΎ Π·Π° нас Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ.

Π’ случай Ρ‡Π΅ всС ΠΏΠ°ΠΊ възникнС ситуация, Π² която Ρ‰Π΅ бъдС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ послСдоватСлно Π΄Π° сС Π·Π°ΠΏΠ°Π·ΠΈ част ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅, вСроятно Ρ‰Π΅ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° услугата, Π·Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π² Π΅Π΄ΠΈΠ½ процСс.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° микросСрвис. Как ΠΌΠΎΠΆΠ΅ относитСлно бСзопасно Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ΠΌ Π΄ΠΎ продукция? Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»Π½Π° част ΠΎΡ‚ систСмата β€” ΠΌΠΎΠ΄ΡƒΠ» Π·Π° Π·Π°ΠΏΠ»Π°Ρ‚ΠΈ, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΡƒΡ‡Π°ΡΡ‚ΡŠΡ†ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π±ΠΈΡ…ΠΌΠ΅ искали Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ микросСрвисСн.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

На ΠΏΡŠΡ€Π²ΠΎ място създавамС микросСрвис, ΠΏΡ€Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΉΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡΠ²Π°ΠΌΠ΅ някои ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π½ΠΈ удовлСтворяваха. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ бизнСс изисквания ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ДобавямС API Gateway Π² Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ UI ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄Π°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ осигурява ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° повиквания.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° пускамС Ρ‚Π°Π·ΠΈ конфигурация Π² Сксплоатация, Π½ΠΎ Π² ΠΏΠΈΠ»ΠΎΡ‚Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ всС ΠΎΡ‰Π΅ работят със старитС бизнСс процСси. Π—Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Π½ΠΎΠ²Π° вСрсия Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ‚ΠΎΠ·ΠΈ процСс. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π² пилотния Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΈ микросСрвиса.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ ΠΏΠΈΠ»ΠΎΡ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π½ΠΎΠ²Π°Ρ‚Π° конфигурация наистина Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ стария ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΈ Π΄Π° оставим Π½ΠΎΠ²Π°Ρ‚Π° конфигурация Π½Π° мястото Π½Π° старото Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всички ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° раздСлянС Π½Π° изходния ΠΊΠΎΠ΄ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°. Всички Ρ‚Π΅ Π½ΠΈ позволяват Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° частитС ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ Π½Π° Π½ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, създавайки ΠΏΠΎ-ΠΊΠ°Ρ‡Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄.

Π Π°Π±ΠΎΡ‚Π° с Π‘Π”


Π‘Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС раздСля ΠΏΠΎ-лошо ΠΎΡ‚ изходния ΠΊΠΎΠ΄, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π½Π΅ само Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° схСма, Π½ΠΎ ΠΈ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈΡ‚Π΅ историчСски Π΄Π°Π½Π½ΠΈ.

ΠΠ°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ, имашС ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Π²Π°ΠΆΠ΅Π½ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ β€” огромния Ρ€Π°Π·ΠΌΠ΅Ρ€. Π’Π°Π·ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ бСшС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ със Π·Π°ΠΏΠ»Π΅Ρ‚Π΅Π½Π°Ρ‚Π° бизнСс Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ контСксти сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Ρ…Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ.

Π’ нашия случай, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ всичкитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ (голяма Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, мноТСство Π²Ρ€ΡŠΠ·ΠΊΠΈ, понякога нСясни Π³Ρ€Π°Π½ΠΈΡ†ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅), сС появи ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ сС срСща Π² ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ: ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° шаблона shared database. Π”Π°Π½Π½ΠΈΡ‚Π΅ ΠΈΠ΄Π²Π°Ρ…Π° ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Ρ‡Ρ€Π΅Π· view, Ρ‡Ρ€Π΅Π· рСпликация ΠΈ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ…Π° Π² Π΄Ρ€ΡƒΠ³ΠΈ систСми, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ рСпликация Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ…ΠΌΠ΅ Π΄Π° изнСсСм Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° схСма, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π°.

Π’ раздСлянСто Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ контСксти Π² ΠΊΠΎΠ΄Π°. Π’ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½ΠΈ Π΄Π°Π²Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ раздСлямС Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ контСкст ΠΈ ΠΊΠΎΠΈ Π½Π° Π΄Ρ€ΡƒΠ³.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠΈΡ…ΠΌΠ΅ Π΄Π²Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° раздСлянС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ: отдСлянС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΈ отдСлянС с ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

ΠžΡ‚Π΄Π΅Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ подходящ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ структурата Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΅ качСствСна, отговаря Π½Π° бизнСс изискванията ΠΈ Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚Π° ΠΎΡ‚ всички. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° схСма.

ΠžΡ‚Π΄Π΅Π»ΡΠ½Π΅Ρ‚ΠΎ с ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ бизнСс ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ Π½Π΅ удовлСтворяват Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½ΠΈ.

ΠžΡ‚Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Врябва Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ. Π‘Π΅Π· Ρ‚ΠΎΠ²Π° Π·Π½Π°Π½ΠΈΠ΅ Π½ΠΈΡ‰ΠΎ няма Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΈ Ρ‚ΡƒΠΊ Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ контСксти Π² ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π°ΠΊΠΎ успССм Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° контСкститС Π² изходния ΠΊΠΎΠ΄, става ясно ΠΊΠΎΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ трябва Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ‚ Π² списъка Π·Π° отдСлянС.

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π²Π° ΠΌΠΎΠ΄ΡƒΠ»Π° Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° взаимодСйстват с Π΅Π΄Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. НуТно Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ само Π΅Π΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ» Π΄Π° взаимодСйства с частта с отдСляСмитС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Π° другият Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° взаимодСйства с Π½Π΅Π³ΠΎ ΠΏΡ€Π΅Π· API. Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ само Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° запис ΠΏΡ€Π΅Π· API. Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ условиС, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° нСзависимост Π½Π° микросСрвиситС. Π’Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° останат, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² Ρ‚ΠΎΠ²Π° няма голям ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

На слСдващата ΡΡ‚ΡŠΠΏΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ част ΠΎΡ‚ ΠΊΠΎΠ΄Π°, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° с отдСляСмитС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, с ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ микросСрвис ΠΈ Π΄Π° я стартирамС Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ процСс, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π’ΠΎΠ²Π° Ρ‰Π΅ бъдС ΠΎΡ‚Π΄Π΅Π»Π΅Π½ сСрвис с Π²Ρ€ΡŠΠ·ΠΊΠ° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΈ с Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към Π½Π΅Π³ΠΎ. ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ΡŠΡ‚ всС ΠΎΡ‰Π΅ взаимодСйствува с отдСляСмата част Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

По-късно Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ Ρ‚Π°Π·ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ°, Ρ‚.Π΅. Ρ‡ΠΈΡ‚Π΅Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ отдСляСмитС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΡΡŠΡ‰ΠΎ Ρ‰Π΅ бъдС прСмСстСно Π½Π° API.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ ΠΎΡ‚ ΠΎΠ±Ρ‰Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, с ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ само новият микросСрвис. МоТСм Π΄Π° изнСсСм Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° схСма ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° физичСска Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠžΡΡ‚Π°Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвиса ΠΈ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, Π½ΠΎ Π² Ρ‚ΠΎΠ²Π° няма Π½ΠΈΡ‰ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, Π² Ρ‚Π°ΠΊΠ°Π²Π° конфигурация Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ дълго.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ напълно всички Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ основната Π±Π°Π·Π°. Понякога искамС Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² няколко Π±Π°Π·ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ справочници ΠΎΡ‚ външни систСми. Π’ΠΎΠ²Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ сС случва ΠΏΡ€ΠΈ нас.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΠžΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ сходСн с ΠΏΡŠΡ€Π²ΠΈΡ, Π½ΠΎ слСдва ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ Ρ€Π΅Π΄. НСзабавно сС създава Π½ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π½ΠΎΠ² микросСрвис, ΠΊΠΎΠΉΡ‚ΠΎ взаимодСйствува с ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° Ρ‡Ρ€Π΅Π· API. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ остава Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² Π‘Π”, ΠΊΠΎΠΈΡ‚ΠΎ искамС Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅. Π’Π΅ Π²Π΅Ρ‡Π΅ няма Π΄Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ, Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ смС Π² новия ΠΌΠΎΠ΄Π΅Π».

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π—Π° Π΄Π° Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚Π°Π·ΠΈ схСма, вСроятно Ρ‰Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.

Π‘Π»Π΅Π΄Π²Π°Ρ‚ Π΄Π²Π° възмоТни ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

ΠŸΡŠΡ€Π²ΠΈ: Π΄ΡƒΠ±Π»ΠΈΡ€Π°ΠΌΠ΅ всички Π΄Π°Π½Π½ΠΈ Π² Π½ΠΎΠ²Π°Ρ‚Π° ΠΈ старата Π±Π°Π·ΠΈ. Π’ Ρ‚Π°ΠΊΡŠΠ² случай възниква излишък ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със синхронизацията. Но ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π°ΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π•Π΄ΠΈΠ½ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π½ΠΎΠ²Π°Ρ‚Π° вСрсия, Π° другият със старата.

Π’Ρ‚ΠΎΡ€ΠΈ: раздСлямС Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΠΎ някакъв бизнСс ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ. НапримСр, Π² систСмата Π½ΠΈ имашС 5 ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² старата Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ШСстият Π² Π½ΠΎΠ²Π°Ρ‚Π° бизнСс Π·Π°Π΄Π°Ρ‡Π° Ρ‰Π΅ бъдС Π² Π½ΠΎΠ²Π°Ρ‚Π° Π‘Π”. Но Ρ‰Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ API Gateway, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° синхронизира Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎΡ‚ΠΊΡŠΠ΄Π΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π²Π·Π΅ΠΌΠ΅.

И Π΄Π²Π°Ρ‚Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° работят, ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π² зависимост ΠΎΡ‚ ситуацията.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ, част ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, която Ρ€Π°Π±ΠΎΡ‚ΠΈ със старитС структури Π½Π° Π‘Π”, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Ρ‰Π΅ бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° старитС структури Π½Π° Π΄Π°Π½Π½ΠΈ.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Накрая ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π‘Π”: Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ с нСя Π² сравнСниС с изходния ΠΊΠΎΠ΄, ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС раздСля, Π½ΠΎ всС ΠΏΠ°ΠΊ ΠΌΠΎΠΆΠ΅ ΠΈ трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ. НамСрили смС някои Π½Π°Ρ‡ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ бСзопасно, всС ΠΏΠ°ΠΊ Π΄Π° допуснСм Π³Ρ€Π΅ΡˆΠΊΠ° с Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΅ ΠΏΠΎ-лСсно, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ с изходния ΠΊΠΎΠ΄.

Π Π°Π±ΠΎΡ‚Π° със изходния ΠΊΠΎΠ΄


Π’Π°ΠΊΠ° изглСТдашС схСмата Π½Π° изходния ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ монолитния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Условно ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Ρ‚Ρ€ΠΈ слоя. Π’ΠΎΠ²Π° Π΅ слой Π½Π° стартирани ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, плъгини, услуги ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ активности. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Ρ‚ΠΎΠ²Π° бяха Π²Ρ…ΠΎΠ΄Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Всички Ρ‚Π΅ бяха ΠΏΠ»ΡŠΡ‚Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със слоя Common. Π’ Π½Π΅Π³ΠΎ сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°ΡˆΠ΅ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, която сС използвашС ΠΎΡ‚ услугитС Π·Π°Π΅Π΄Π½ΠΎ, ΠΈ мноТСство зависимости. Всяка услуга ΠΈ плъгин използвашС Π΄ΠΎ 10 ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΠ±Ρ‰ΠΈ сборки, Π² зависимост ΠΎΡ‚ тСхния Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΡΡŠΠ²Π΅ΡΡ‚Ρ‚Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π˜ΠΌΠ°Ρ…ΠΌΠ΅ ΠΊΡŠΡΠΌΠ΅Ρ‚, Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ…ΠΌΠ΅ с инфраструктурни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

Понякога възниквашС ситуация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ някои Common ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ…Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ слой, Π° бяха инфраструктурни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ΠΎΠ²Π° сС Ρ€Π΅ΡˆΠ°Π²Π°ΡˆΠ΅ с ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅.

Най-ΠΌΠ½ΠΎΠ³ΠΎ притСснСния ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ…Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ‚Π΅ контСксти. Понякога 3-4 контСкста сС смСсваха Π² Π΅Π΄Π½Π° сборка Common ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° Π²Π·Π°ΠΈΠΌΠ½ΠΎ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ бизнСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НСобходимо бСшС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ къдС ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠ²ΠΈ Π³Ρ€Π°Π½ΠΈΡ†ΠΈ, ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ слСд Ρ‚ΠΎΠ²Π° с ΠΌΠ°ΠΏΠΈΠ½Π³Π° Π½Π° Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° сборкитС Π½Π° изходния ΠΊΠΎΠ΄.

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ…ΠΌΠ΅ няколко ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° процСса Π½Π° раздСлянС Π½Π° ΠΊΠΎΠ΄Π°.

ΠŸΡŠΡ€Π²ΠΎ: Π½Π΅ искахмС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π° сподСлямС бизнСс Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС, активноститС ΠΈ ΠΏΠ»ΡŠΠ³ΠΈΠ½ΠΈΡ‚Π΅. Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π΄Π° бъдС нСзависима Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° микросСрвизитС. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, микросСрвизитС, Π² идСалния случай, сС Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ ΠΊΠ°Ρ‚ΠΎ услуги, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ напълно нСзависимо. Бмятам, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ донякъдС Ρ€Π°Π·Ρ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»Π΅Π½ ΠΈ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС постигнС, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, услугитС Π½Π° C# всС ΠΏΠ°ΠΊ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠΠ°ΡˆΠ°Ρ‚Π° систСма Π΅ написана Π½Π° C#, Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ засСга Π½Π΅ употрСбявамС. Π—Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±Ρ‰ΠΈ тСхничСски сборки. Π’Π°ΠΆΠ½ΠΎ Π΅ само Π² тях Π΄Π° Π½Π΅ ΠΈΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΡƒΠ΄ΠΎΠ±Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π°Π΄ ORM, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ скъпо Π΄Π° я ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚Π΅ ΠΎΡ‚ услуга Π½Π° услуга.

ΠΠ°ΡˆΠΈΡΡ‚ Π΅ΠΊΠΈΠΏ Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅Π» Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅, Π·Π°Ρ‚ΠΎΠ²Π° "Π»ΡƒΠΊΠΎΠ²Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°" Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠΆΠ΄Π° прСкрасно. ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π° Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ сСрвизи Π΅ Π½Π΅ слой Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ, Π° сборка с Π΄ΠΎΠΌΠ΅ΠΉΠ½Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° само бизнСс Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Π΅ лишСна ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ с инфраструктурата. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ нСзависимо Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΎΠ²Π°Ρ‚Π° сборка, Π·Π° Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€Ρ†ΠΈΡ‚Π΅.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ срСщнахмС ΠΏΡŠΡ€Π²Π°Ρ‚Π° сСриозна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π‘Π΅Ρ€Π²ΠΈΠ·ΡŠΡ‚ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС отнася към Π΅Π΄Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π½Π° сборка, Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° искахмС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ нСзависима, Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡŠΡ‚ DRY ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈ ΠΏΡ€Π΅Ρ‡Π΅ΡˆΠ΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ искаха Π΄Π° ΠΏΡ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·Π²Π°Ρ‚ класовСтС ΠΎΡ‚ съсСдни сборки, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π΄ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си. АнализирахмС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΈ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΡ€ΠΈΠ΅ ΠΈ Π² устройството Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° изходния ΠΊΠΎΠ΄. Π˜ΠΌΠ°Ρ…ΠΌΠ΅ голям Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΠΉΡ‚ΠΎ бяха ΡΡŠΠ±Ρ€Π°Π½ΠΈ всички ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅. Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° цСлия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ бСшС ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΡΡŠΠ±Π΅Ρ€Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина. Π—Π°Ρ‚ΠΎΠ²Π° Π·Π° частитС Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ…Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΌΠ°Π»ΠΊΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π·Π°Π±Ρ€Π°Π½ΡΠ²Π°ΡˆΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² тях някаква ΠΎΠ±Ρ‰Π° ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° сборка ΠΈ Π΄Π° я ΠΏΡ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·Π²Π°ΠΌΠ΅. ЕдинствСният инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π½ΠΈ позволявашС Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, бСшС рСцСнзията Π½Π° ΠΊΠΎΠ΄Π°. Но понякога ΠΈ Ρ‚ΠΎΠΉ давашС сбои.

Π’ΠΎΠ³Π°Π²Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π» с ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. БизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° спря Π΄Π° ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° ΠΎΡ‚ сСрвиз Π½Π° сСрвиз, Π΄ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ наистина стана нСзависими. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ‚Π΅ контСксти сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΠΎ-ясно. Как ΠΎΠ±Π°Ρ‡Π΅ ΠΏΡ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·Π²Π°ΠΌΠ΅ инфраструктурнитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ? ΠžΡ‚Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ Π³ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, слСд Ρ‚ΠΎΠ²Π° Π³ΠΈ поставихмС Π² Nuget ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ слоТихмС Π² Artifactory. ΠŸΡ€ΠΈ всяко ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, сборката ΠΈ публикацията сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΠΠ°ΡˆΠΈΡ‚Π΅ сСрвизи Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° сС отнасят към Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ инфраструктурни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ към външни. Π’ΡŠΠ½ΡˆΠ½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ свалямС ΠΎΡ‚ Nuget. Π—Π° Ρ€Π°Π±ΠΎΡ‚Π° с Artifactory, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ поставяхмС Ρ‚Π΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ…ΠΌΠ΅ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π°. Π’ ΠΌΠ°Π»ΠΊΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡΡŠΡ‰ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Nuget. Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ с няколко сСрвиза ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Paket, ΠΊΠΎΠΉΡ‚ΠΎ осигурява ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚ Π½Π° вСрсиитС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Ρ€Π°Π±ΠΎΡ‚Π΅ΠΉΠΊΠΈ ΠΏΠΎ изходния ΠΊΠΎΠ΄, ΠΌΠ°Π»ΠΊΠΎ промСняйки Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΈ раздСляйки Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π°, Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π°ΡˆΠΈΡ‚Π΅ услуги ΠΏΠΎ-нСзависими.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с инфраструктурата


ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ към микросСрвизи са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с инфраструктурата. Π©Π΅ Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, Ρ‰Π΅ са Π²ΠΈ Π½ΡƒΠΆΠ½ΠΈ Π½ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с инфраструктурата.

Π ΡŠΡ‡Π½Π° инсталация Π² срСди

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ настройвахмС срСдитС Ρ€ΡŠΡ‡Π½ΠΎ. Π—Π° Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ процСс, ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ CI/CD ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€. Π˜Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ процСса Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ доставянС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎΡ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π·Π° нас ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° бизнСс процСситС. Π—Π°Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π² Сксплоатация сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с натисканС Π½Π° Π±ΡƒΡ‚ΠΎΠ½, Π° тСстванСто β€” Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ИзползвамС Atlassian, Bitbucket Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° изходния ΠΊΠΎΠ΄ ΠΈ Bamboo Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅. Π₯арСсва Π½ΠΈ Π΄Π° пишСм скриптовС Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Cake, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ ΡΡŠΡ‰ΠΈΡΡ‚ C#. Π’ Artifactory ΠΈΠ΄Π²Π°Ρ‚ Π²Π΅Ρ‡Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π° Ansible Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π° Π½Π° тСстовитС ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ тСствани.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π Π°Π·Π΄Π΅Π»Π½ΠΎ Π»ΠΎΠ³ΠΈΡ€Π°Π½Π΅


ΠŸΡ€Π΅Π΄ΠΈ Π²Ρ€Π΅ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΈΠ΄Π΅ΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° бСшС осигуряванС Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎ Π»ΠΎΠ³Π²Π°Π½Π΅. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ с ΠΎΡ‚Π΄Π΅Π»Π½ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π° дисковСтС. Π›ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ Π½ΠΈ сС записват Π² тСкстови Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ стандартния ELK стСк. НС сС ΠΎΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ Π΄Π° записвамС Π² ELK Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€Π΅Π· доставчицитС, Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ Ρ‰Π΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΈΠΌ тСкстовитС Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ Ρ‰Π΅ записвамС Π² тях ID Π½Π° трасировката ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, добавяйки ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° услугата, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ слСд Ρ‚ΠΎΠ²Π° Ρ‚Π΅Π·ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ към микросСрвизи: история ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Filebeat ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Kibana Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ заявки Π² UI ΠΈ Π΄Π° наблюдавамС ΠΊΠ°ΠΊ Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π°Π» ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС. Π’ Ρ‚ΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ°Π³Π° ID Π½Π° трасировката.

ВСстванС ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ сСрвиситС


Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ…ΠΌΠ΅ напълно ΠΊΠ°ΠΊ Π΄Π° отстранявамС Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈΡ‚Π΅ услуги. Π‘ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° всичко бСшС просто, стартирахмС Π³ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡ‰ΠΎ ΠΎΠΏΠΈΡ‚Π²Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΈ с микросСрвиситС, Π½ΠΎ понякога Π·Π° ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π΅Π½ старт Π½Π° Π΅Π΄ΠΈΠ½ микросСрвис Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° стартирамС ΠΈ няколко Π΄Ρ€ΡƒΠ³ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към ΠΌΠΎΠ΄Π΅Π», Π² ΠΊΠΎΠΉΡ‚ΠΎ оставямС Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина само услугата ΠΈΠ»ΠΈ услугитС, ΠΊΠΎΠΈΡ‚ΠΎ искамС Π΄Π° отстранявамС. ΠžΡΡ‚Π°Π½Π°Π»ΠΈΡ‚Π΅ услуги сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‚ ΠΏΠΎ конфигурация с ΠΏΡ€ΠΎΠ΄. Π‘Π»Π΅Π΄ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΡ€ΠΈ тСстванСто, Π·Π° всяка Π·Π°Π΄Π°Ρ‡Π° Π½Π° тСстовия ΡΡŠΡ€Π²ΡŠΡ€ сС ΠΈΠ·Π΄Π°Π²Π°Ρ‚ само ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡ‚Π΅ услуги. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС тСствува Π² Ρ‚Π°ΠΊΠ°Π²Π° Ρ„ΠΎΡ€ΠΌΠ°, Π² ΠΊΠ°ΠΊΠ²Π°Ρ‚ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ бъдС Π½Π° продукция.

Има ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ са инсталирани само ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ вСрсии Π½Π° услугитС. Π’Π΅Π·ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° случаи Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ, Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° доставкитС ΠΏΡ€Π΅Π΄ΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.

Π”ΠΎΠ±Π°Π²ΠΈ сС процСс Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ тСстванС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° популярната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Specflow. ВСстовСтС сС стартират Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ с NUnit Π²Π΅Π΄Π½Π°Π³Π° слСд Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ Ansible. Ако ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ напълно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Ρ‚ΠΎ няма Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ€ΡŠΡ‡Π½ΠΎ тСстванС. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, понякога всС ΠΏΠ°ΠΊ сС изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€ΡŠΡ‡Π½ΠΎ тСстванС. Π—Π° Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΈ тСстовС Π΄Π° стартирамС Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π·Π°Π΄Π°Ρ‡Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π°Π³ΠΎΠ²Π΅ Π² Jira.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ нарасна Π½ΡƒΠΆΠ΄Π°Ρ‚Π° ΠΎΡ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‰ΠΎ тСстванС, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΡˆΠ΅ само Π² Ρ€Π΅Π΄ΠΊΠΈ случаи. Π—Π° стартиранС Π½Π° тСстовСтС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ JMeter, Π·Π° тяхното ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ β€” InfluxDB, Π° Π·Π° построяванС Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π½Π° процСса β€” Grafana.

Какво постигнахмС?


На ΠΏΡŠΡ€Π²ΠΎ място, сС ΠΎΡ‚ΡŠΡ€Π²Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ понятиСто "Ρ€Π΅Π»ΠΈΠ·". Π˜Π·Ρ‡Π΅Π·Π½Π°Ρ…Π° двСмСсСчнитС монструозни Ρ€Π΅Π»ΠΈΠ·ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ машина сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΡˆΠ΅ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Π° срСда, Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°ΠΉΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ бизнСс процСситС. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΠΌΠ΅ услуги срСдно Π½Π° всСки 1,5 Π΄Π½ΠΈ, Π³Ρ€ΡƒΠΏΠΈΡ€Π°ΠΉΠΊΠΈ Π³ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² Сксплоатация Ρ‚Π΅ ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ слСд ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½Π΅.

Π’ Π½Π°ΡˆΠ°Ρ‚Π° систСма няма Ρ„Π°Ρ‚Π°Π»Π½ΠΈ сривовС. Ако пуснСм микросСрвис с Π³Ρ€Π΅ΡˆΠΊΠ°, ΡΠ²ΡŠΡ€Π·Π°Π½Π°Ρ‚Π° с Π½Π΅Π³ΠΎ функционалност Ρ‰Π΅ Π΅ счупСна, Π° цялата останала функционалност Π½Π΅ Ρ‰Π΅ пострада. Π’ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ подобрява потрСбитСлското изТивяванС.

МоТСм Π΄Π° управлявамС схСмата Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅. МоТСм Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ услуги ΠΎΡ‚ цялостното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

ОсвСн Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΡ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с голямото количСство остарСли Π·Π°Π΄Π°Ρ‡ΠΈ. ИмамС ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят нСзависимо с част ΠΎΡ‚ услугитС. Π’ΡƒΠΊ Π²Π΅Ρ‡Π΅ Π΄ΠΎΠ±Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Scrum. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Π΅ΠΊΠΈΠΏ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ собствСник Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ поставя Π·Π°Π΄Π°Ρ‡ΠΈ.

РСзюмС

  • ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠΈΡ‚Π΅ са подходящи Π·Π° дСкомпозиция Π½Π° слоТни систСми. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° Π² Π½Π°ΡˆΠ°Ρ‚Π° систСма, ΠΊΠ°ΠΊΠ²ΠΈ са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ‚Π΅ контСксти ΠΈ къдС ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π³Ρ€Π°Π½ΠΈΡ†ΠΈ. Π’ΠΎΠ²Π° позволява ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΈ прСдотвратяванС Π½Π° Π·Π°ΠΏΠ»ΠΈΡ‚Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π°.
  • ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ прСдимства. ЧСсто говорят Π·Π° тях само ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½ΠΎ всяка Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° бизнСс Π½ΡƒΠΆΠ΄ΠΈ, Π° Π½Π΅ сама ΠΏΠΎ сСбС си. Π—Π°Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ микросСрвиситС са подходящи Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΡ‚ ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΈΠΌΠ°ΠΉΠΊΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Scrum Π΅ ΠΌΠ½ΠΎΠ³ΠΎ популярСн.
  • РаздСлянСто Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ процСс. НСвъзмоТно Π΅ просто Π΄Π° взСмСш ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡˆ Π½Π° микросСрвизи. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΅Π΄Π²Π° Π»ΠΈ Ρ‰Π΅ бъдС Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰. ΠŸΡ€ΠΈ отдСлянС Π½Π° микросСрвизи Π΅ ΠΈΠ·Π³ΠΎΠ΄Π½ΠΎ Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅ΠΌ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΎΡ‚ΠΎ legacy, Ρ‚.Π΅. Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ Π² ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ харСсва ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ задоволява бизнСс Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° функционалност ΠΈ Π±ΡŠΡ€Π·ΠΈΠ½Π°.

    НСбольшо ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ към микросСрвизи са доста Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ. Π‘Π°ΠΌΠΎ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° инфраструктурния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΡ‚Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π—Π°Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ изисква спСцифично ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, ΠΈ Π°ΠΊΠΎ няма голямо количСство ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС борят Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° вашия Π΅ΠΊΠΈΠΏ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ микросСрвиситС Π½Π΅ са Π½Π΅Ρ‰ΠΎΡ‚ΠΎ, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ сравнитСлно скъпо. Ако Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ процСса с микросСрвизи, Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π°ΠΊΠΎ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π΅ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚.

    P.S. По-Π΅ΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»Π½Π° история (ΠΈ сякаш Π»ΠΈΡ‡Π½ΠΎ Π·Π° вас) – ΠΏΠΎ Π²Ρ€ΡŠΠ·ΠΊΠ°.
    Π’ΡƒΠΊ Π΅ ΠΏΡŠΠ»Π½Π°Ρ‚Π° вСрсия Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°.

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

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