πŸ—οΈ 7 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист

Рассмотрим сСмь ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ срСди соискатСлСй ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅Ρ‡Ρ‚Ρ‹.

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ. Автор: Toxic Dev. Бсылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π».

Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, я Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ соврСмСнныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ (ΠΈΠ»ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹) Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ проСктирования. Для ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ поясню, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования Π½ΡƒΠΆΠ½Ρ‹ для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Ссли происходит Π·Π°ΠΌΠ΅Π½Π° Π² ΡˆΡ‚Π°Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ соврСмСнных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ прилоТСния ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ прСдприятия ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, доступными, бСзопасными ΠΈ отказоустойчивыми. Π‘Π΅Π· сомнСния, всС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅ΠΉ Π»ΠΈΠ³ΠΈ ΠΈΡ‰ΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти трудности.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вопрос: ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹? Один ΠΈΠ· способов β€” ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π²ΡˆΠΈΠΌ сСбя ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ проСктирования.

1. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ автоматичСского Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Circuit Breaker)

Книга Майкла Найгарда Release It! способствовала популяризации ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Circuit Breaker, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ постоянныС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, скорСС всСго, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, позволяя Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π΅Π· оТидания устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊΡ‚ΠΎΠ² процСссора Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ошибки.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ прСрыватСля Ρ†Π΅ΠΏΠΈ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, устранСна Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° каТСтся Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Circuit Breaker слуТит для ΠΈΠ½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, Ρ‡Π΅ΠΌ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Retry. Retry позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ.

Circuit Breaker Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ опасныС дСйствия. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Retry, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСйствиС Ρ‡Π΅Ρ€Π΅Π· «автоматичСский Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒΒ», для объСдинСния этих Π΄Π²ΡƒΡ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ². Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Π»ΡŽΠ±Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… «автоматичСским Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌΒ», ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Ρ‹, Ссли «автоматичСский Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒΒ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒ Π½Π΅ являСтся Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π”Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ взяты ΠΎΡ‚ΡΡŽΠ΄Π°.

2. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ источника событий (Event sourcing)

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сохраняла Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии, обновляя ΠΈΡ…, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π½ΠΈΠΌΠΈ. НапримСр, Π² классичСской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ создания, чтСния, обновлСния ΠΈ удалСния (CRUD) Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, внСсСниС Π² Π½ΠΈΡ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²Ρ‹ΠΌΠΈ значСниями β€” часто с использованиСм Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅.

Event Sourcing опрСдСляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствий с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ сСриСй событий, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… записываСтся Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для добавлСния. Код прилоТСния доставляСт ΡΠ΅Ρ€ΠΈΡŽ событий Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ событий, происходит ΠΈΡ… сохранСниС, описываСтся ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. КаТдоС событиС содСрТит описаниС Π½Π°Π±ΠΎΡ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AddedItemToOrder).

Бобытия ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ событий, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слуТит систСмой записи (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ источником Π΄Π°Π½Π½Ρ‹Ρ…) для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ события часто ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ Π°Π³Π΅Π½Ρ‚ΠΎΠΌ событий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π² курсС ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² событиях ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ систСмам, ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ связанныС дСйствия, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ прилоТСния, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ события, ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΎΡ‚ систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½ΠΈΡ… ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста»

3. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ SideCar

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°, настройка ΠΈ сСтСвыС слуТбы часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ прилоТСниям ΠΈ слуТбам. Π­Ρ‚ΠΈ посторонниС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ услуги.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСрвис Π½Π΅ всСгда являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ прилоТСния, Π½ΠΎ связан с Π½ΠΈΠΌ. Он слСдуСт Π·Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ. Sidecars β€” это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ слуТбы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ вмСстС с основным ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Коляска Π½Π° ΠΌΠΎΡ‚ΠΎΡ†ΠΈΠΊΠ»Π΅ сцСплСна с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠΎΡ‚ΠΎΡ†ΠΈΠΊΠ»ΠΎΠΌ, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΡ‚ΠΎΡ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ своя коляска. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ слуТба повторяСт ΡΡƒΠ΄ΡŒΠ±Ρƒ своСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ прилоТСния. ЭкзСмпляр sidecar развСртываСтся ΠΈ размСщаСтся вмСстС с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ экзСмпляром прилоТСния.

Они ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ процСссС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ссли ΠΎΠ½ΠΈ тСсно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, обСспСчивая ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠ±Ρ‰ΠΈΡ… рСсурсов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ сбой Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ всС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ языкС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сильно зависят Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

4. CQRS

CQRS Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Command and Query Responsibility Segregation, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ процСссы чтСния ΠΈ обновлСния Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ CQRS Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, получСнная ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° CQRS, позволяСт систСмС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ эффСктивно с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ запуск инструкций ΠΏΠΎ обновлСнию ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΎΠΌΠ΅Π½Π°.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ запросов ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅, хотя ΠΊΠΎΠ΄ CQRS Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски сгСнСрирован ΠΈΠ· схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² формирования шаблонов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ инструмСнты O/RM (хотя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свои настройки ΠΏΠΎΠ²Π΅Ρ€Ρ… сгСнСрированного ΠΊΠΎΠ΄Π°).

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ физичСски Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ чтСния ΠΈ записи для большСй изоляции. Π’ этом случаС Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… чтСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ схСму Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для запросов. НапримСр, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ слоТных соСдинСний ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ O/RM. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ хранСния Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… записи ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рСляционной, Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… чтСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

5. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Rate Limiting

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

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Rate Limiting ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях, Π½ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½ для ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ пакСтная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ количСство записСй, прСдоставляСмых слуТбС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ.

Для ограничСния слуТбы с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹, Π² Ρ‚ΠΎΠΌ числС:

β€” количСство дСйствий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 60 запросов);

β€” объСм Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 50 Π“Π‘ Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ);

β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 42 000 RU Π² сСкунду).

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

6. Strangler Fig

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ пСрСноситС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ систСму, постСпСнно замСняя ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ прилоТСниями ΠΈ слуТбами. Бтарая систСма Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ задыхаСтся ΠΎΡ‚ Π½ΠΎΠ²ΠΎΠΉ систСмы, которая Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ замСняСт всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ систСмы, позволяя Π²Π°ΠΌ вывСсти Π΅Π΅ ΠΈΠ· эксплуатации.

ЗамСняйтС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ поэтапно Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΈ услугами. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ фасад, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы, направляСмыС Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ систСму. Π­Ρ‚ΠΈ запросы ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ фасадом Π»ΠΈΠ±ΠΎ Π² Π½ΠΎΠ²Ρ‹Π΅ слуТбы, Π»ΠΈΠ±ΠΎ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ постСпСнно пСрСносятся Π² Π½ΠΎΠ²ΡƒΡŽ систСму, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ зная ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ риск ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Π² Π½ΠΎΠ²ΡƒΡŽ систСму с любой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, которая Π²Π°ΠΌ нравится, ΠΏΡ€ΠΈ этом гарантируя, Ρ‡Ρ‚ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ фасад бСзопасно направляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ систСма постСпСнно становится Β«Π·Π°Π΄ΡƒΡˆΠ΅Π½Π½ΠΎΠΉΒ» ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ большС Π½Π΅ трСбуСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ пСрСноса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π½ΠΎΠ²ΡƒΡŽ систСму. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ систСму ΠΌΠΎΠΆΠ½ΠΎ бСзопасно вывСсти ΠΈΠ· эксплуатации.

7. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Health Endpoint Monitoring

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Health Endpoint Monitoring ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для обСспСчСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ слуТб. Π­Ρ‚ΠΎΡ‚ шаблон описываСт, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π§Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ внСшниС инструмСнты ΠΈΠΌΠ΅ΡŽΡ‚ рСгулярный доступ ΠΊ этим ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌ.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° запросов Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. ПослС выполнСния всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… тСстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ своС состояниС.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности сочСтаСт Π² сСбС Π΄Π²Π° элСмСнта:

Когда дСлаСтся запрос ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ слуТба выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ.ΠžΡ†Π΅Π½ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² систСмой ΠΈΠ»ΠΈ инструмСнтом, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ работоспособности.Код ΠΎΡ‚Π²Π΅Ρ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° статус прилоТСния. БостояниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ слуТб прилоТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ выполняСтся инструмСнтом ΠΈΠ»ΠΈ инфраструктурой ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

Π‘Ρ…Π΅ΠΌΠ° Π²ΠΈΠ΄Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

***

НичСго Π½Π΅ понял, Π½ΠΎ интСрСсно. НуТна ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Ρ€ΠΈΠ³Π°Π΄Π°!

πŸ˜ƒ Π”Π°, это Π½Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π° нСсколько мСсяцСв. Если появилось ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠ½ΡƒΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΆΠ΅, Π·Π°Π»Π΅Ρ‚Π°ΠΉΡ‚Π΅ Π½Π° наш курс «АрхитСктуры ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования».

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 11 занятий вмСстС с ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΌ-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΌ Π²Ρ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚Π΅ΡΡŒ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°Ρ…, Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ систСмы. Π’Ρ‹ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° курса ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ авторская, разработанная ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΌ Π•Π²Π³Π΅Π½ΠΈΠ΅ΠΌ Π’ΡŽΠΌΠ΅Π½Ρ†Π΅Π²Ρ‹ΠΌ (Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ занимался ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π‘++. Код, написанный 14 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² составС IBM Watson. Один ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² – ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСхничСски слоТного коммСрчСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ· 7 студСнтов), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ вас Π½Π° протяТСнии всСх занятий, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ домашнСС Π·Π°Π΄Π°Π½ΠΈΠ΅.

Доступ бСссрочный. Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ°: ΠΎΡ‚ 1 Π΄ΠΎ 2-Ρ… часов. Π”Π΅Π΄Π»Π°ΠΉΠ½ΠΎΠ² Π½Π΅Ρ‚, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π² любоС свободноС врСмя.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
07 июля 2017

4 Π»ΡƒΡ‡ΡˆΠΈΡ… бСсплатных ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C#

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ самых ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… бСсплатных ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΈΠ·ΡƒΡ‡Π΅...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
28 ΠΌΠ°Ρ€Ρ‚Π° 2017

3 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎ...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
27 ΠΌΠ°Ρ€Ρ‚Π° 2017

4 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… проСктирования

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… проСктирования, рассчитанныС ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Ρ‚Π°ΠΊ ...