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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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


ИзвСТданС Π½Π° микросСрвиси

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

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

ΠŸΡŠΡ€Π²ΠΈ Π½Π°Ρ‡ΠΈΠ½ β€” Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° изнасянС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ услуги. Π’ Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ ΠΊΡŠΡΠΌΠ΅Ρ‚: Π²Π΅Ρ‡Π΅ имашС ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ услуги, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…Π° ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» 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 слоя. ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Π½ΠΈ UI ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ дСсктопно ΠΈ Π΅ написано Π½Π° C#, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ понякога правят Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ изнасят Π² UI части ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π² Π±Π΅ΠΊΠ΅Π½Π΄Π° ΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΡ€Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Π˜ΠΌΠ°Ρ…ΠΌΠ΅ ΠΊΡŠΡΠΌΠ΅Ρ‚, ΠΈΠΌΠ°Ρ…ΠΌΠ΅ инфраструктурни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ моТСшС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Π Π°Π·Π΄Π΅Π»Π½ΠΎ Π»ΠΎΠ³Π²Π°Π½Π΅


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

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

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

ВСстванС ΠΈ отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ услуги


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

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

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

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

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


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

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

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

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

РСзюмС

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

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

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

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

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