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

БущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ контСкста: Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π² сСансС сСрвСра. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ контСкст ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ прСдоставляСт встроСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ… использованиС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ события Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π²ΠΎ врСмя простоя.

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

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ остановки ΠΏΠΎΡ‚ΠΎΠΊΠ° выполнСния

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

Однако использованиС Π‘ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ критичСскиС ограничСния Π² клиСнтском ΠΊΠΎΠ΄Π΅. Если Π²Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² интСрфСйсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ„ΠΎΡ€ΠΌΠ° прилоТСния фактичСски «зависнСт» β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ смоТСт Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ списки ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ. БистСма просто пСрСстанСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сообщСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΏΠΎΠΊΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ сработаСт. Π­Ρ‚ΠΎ создаСт ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π‘ΠΎΠ½ Π² основном ΠΏΠΎΡ‚ΠΎΠΊΠ΅ клиСнтского прилоТСния Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ интСрфСйс. Никогда Π½Π΅ примСняйтС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΡƒΠ·Ρ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий Ρ„ΠΎΡ€ΠΌ, Ссли это Π½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСстовый ΠΊΠΎΠ΄.

Для сСрвСрного ΠΊΠΎΠ΄Π° ситуация иная. Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ процСссы 1Π‘ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ графичСского интСрфСйса, поэтому Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π΅ влияСт Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ восприятиС. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС Sleep Π½Π° сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ накоплСнию ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ сниТСнию ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ кластСра. Π’ высоконагруТСнных систСмах Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ асинхронныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ.

πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΠ½ с ΠΌΠ°Π»Ρ‹ΠΌΠΈ значСниями (100-500 мс) нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ участка ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π°ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ врСмя выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

Π‘ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ инструмСнтом, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ интСрфСйса Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях, являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ ОТиданиС() (Wait()). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ простого сна, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ„Π»Π°Π³ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ позволяСт систСмС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Esc ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΒ» Π΄Π°ΠΆΠ΅ Π²ΠΎ врСмя выполнСния ΠΏΠ°ΡƒΠ·Ρ‹.

Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ количСства сСкунд ΠΈ Π±ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ значСния. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ установлСн Π² Π˜ΡΡ‚ΠΈΠ½Π°, Ρ‚ΠΎ Π²ΠΎ врСмя оТидания ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° пСриодичСски ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ состояниС сСанса. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ тяТСлого скрипта, Ρ‡Ρ‚ΠΎ являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ элСмСнтом отказоустойчивости клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

  • πŸ›‘ ΠœΠ΅Ρ‚ΠΎΠ΄ ОТиданиС позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· стандартный интСрфСйс.
  • ⏱️ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ задаСтся Π² сСкундах, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
  • πŸ”„ БистСма ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ систСмныС сообщСния, прСдотвращая статус «НС ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚Β».

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Wait всС Ρ€Π°Π²Π½ΠΎ являСтся Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π½ΠΎ ΠΎΠ½Π° Π±ΠΎΠ»Π΅Π΅ Β«Π²Π΅ΠΆΠ»ΠΈΠ²Π°Β» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ срСдС выполнСния. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ, вставка ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ спасти ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ падСния ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°ΡƒΠ· Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π‘ΠΎΠ½ (Sleep)
ОТиданиС (Wait)
Π Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания
Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌ
Π”Ρ€ΡƒΠ³ΠΎΠ΅

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ„ΠΎΠ½Π° ΠΈΠ»ΠΈ Π² Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… заданиях трСбования ΠΊ ΠΏΠ°ΡƒΠ·Π°ΠΌ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ, Π½ΠΎ Π΅ΡΡ‚ΡŒ ограничСния со стороны администратора кластСра. Π”ΠΎΠ»Π³ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ с ΠΏΠ°ΡƒΠ·Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы сСрвСра, Π½Π΅ давая ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

Π’ Ρ‚Π°ΠΊΠΈΡ… сцСнариях рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡. ВмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° с ΠΏΠ°ΡƒΠ·Π°ΠΌΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° нСсколько сСансов. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… запусков Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ задания Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ РСгламСнтныСЗадания. Π­Ρ‚ΠΎ позволяСт ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ сразу послС выполнСния ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° UI РСакция Π½Π° Esc
Π‘ΠΎΠ½() ΠšΠ»ΠΈΠ΅Π½Ρ‚ / Π‘Π΅Ρ€Π²Π΅Ρ€ Π”Π° (полная) НСт
ОТиданиС() ΠšΠ»ΠΈΠ΅Π½Ρ‚ / Π‘Π΅Ρ€Π²Π΅Ρ€ Π”Π° (с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ) Π”Π° (Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)
Π’Π°ΠΉΠΌΠ΅Ρ€Π€ΠΎΡ€ΠΌΡ‹ Волько ΠšΠ»ΠΈΠ΅Π½Ρ‚ НСт (асинхронно) Π”Π°
ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π‘Π΅Ρ€Π²Π΅Ρ€ (Π Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ΅) Н/Π” Н/Π”

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

АсинхронныС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

Π‘Π°ΠΌΡ‹ΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС являСтся использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Π°ΠΉΠΌΠ΅Ρ€. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ асинхронно: Π²Ρ‹ запускаСтС Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события, интСрфСйс остаСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ, Π° Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» срабатываСт событиС ΠŸΡ€ΠΈΠ‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈΠ’Π°ΠΉΠΌΠ΅Ρ€Π°.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВмСсто Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ выполнСния «сдСлал ΠΏΠ°ΡƒΠ·Ρƒ β€” ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Β», Π²Ρ‹ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° этапы. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап запускаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ этап выполняСтся ΡƒΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π­Ρ‚ΠΎ стандарт ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° для соврСмСнных GUI ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ СдинствСнно Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для слоТных интСрфСйсов 1Π‘.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠ½ΠΎΠΏΠΊΠ°Π‘Ρ‚Π°Ρ€Ρ‚ΠΠ°ΠΆΠ°Ρ‚ΠΈΠ΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Π’Π°ΠΉΠΌΠ΅Ρ€ΠŸΠΎΠΌΠΈΠ³ΠΈΠ²Π°Π½ΠΈΡ = Новый Π’Π°ΠΉΠΌΠ΅Ρ€(1000);

Π’Π°ΠΉΠΌΠ΅Ρ€ΠŸΠΎΠΌΠΈΠ³ΠΈΠ²Π°Π½ΠΈΡ.ΠŸΡ€ΠΈΠ‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ = Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’Π°ΠΉΠΌΠ΅Ρ€ΠŸΠΎΠΌΠΈΠ³ΠΈΠ²Π°Π½ΠΈΡΠŸΡ€ΠΈΠ‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ;

Π’Π°ΠΉΠΌΠ΅Ρ€ΠŸΠΎΠΌΠΈΠ³ΠΈΠ²Π°Π½ΠΈΡ.Π—Π°ΠΏΡƒΡ‰Π΅Π½ = Π˜ΡΡ‚ΠΈΠ½Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² клиСнтском контСкстС. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°ΠΉΠΌΠ΅Ρ€ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ сСрвСра ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ с сСрвСрным Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния.

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС ΠΌΠ΅ΠΆΠ΄Ρƒ срабатываниями Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° выполняСтся ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ событиС, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ. Для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ слуТСбныС.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ соСдинСний

Частой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ нСобходимости ΠΏΠ°ΡƒΠ·Ρ‹ являСтся Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π½Π΅ΡˆΠ½ΠΈΡ… соСдинСний. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с HTTP-запросами ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· COM-соСдинСния ΡΠ΅Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Β«ΠΎΡ‚Π²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡΒ». Π’ Ρ‚Π°ΠΊΠΈΡ… случаях слСпоС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ запроса Π² Ρ†ΠΈΠΊΠ»Π΅ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ со стороны ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра (DDoS-эффСкт).

РСализация ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (Exponential Backoff) являСтся стандартом отрасли. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ врСмя оТидания ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ увСличиваСтся. НапримСр: 1 сСкунда, Π·Π°Ρ‚Π΅ΠΌ 2, Π·Π°Ρ‚Π΅ΠΌ 4, Π·Π°Ρ‚Π΅ΠΌ 8. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ систСмС врСмя Π½Π° восстановлСниС Π±Π΅Π· создания лишнСй Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

  • πŸ“‰ ΠŸΠ΅Ρ€Π²Π°Ρ ошибка: ΠΏΠ°ΡƒΠ·Π° 1000 мс.
  • πŸ“‰ Вторая ошибка: ΠΏΠ°ΡƒΠ·Π° 2000 мс.
  • πŸ“‰ Π’Ρ€Π΅Ρ‚ΡŒΡ ошибка: ΠΏΠ°ΡƒΠ·Π° 4000 мс.
  • 🚫 ПослС N ошибок: ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с записью Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°ΡƒΠ·Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ gracefully degrade β€” ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, Π° Π½Π΅ ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ошибкой ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ сбоС сСти.

πŸ’‘

Никогда Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ. ВсСгда ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ суммарноС врСмя оТидания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠΈΡ‚ΡŒ сСанс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ навсСгда.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ кластСра

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

Для Π°Π½Π°Π»ΠΈΠ·Π° влияния ΠΏΠ°ΡƒΠ· Π½Π° систСму ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–). Π’ Π»ΠΎΠ³Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ события Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Sleep ΠΈ Wait. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ большоС количСство Ρ‚Π°ΠΊΠΈΡ… событий Π² ΠΏΠΈΠΊΠΎΠ²Ρ‹Π΅ часы Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, это сигнал ΠΊ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° асинхронныС ΠΌΠΎΠ΄Π΅Π»ΠΈ взаимодСйствия.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ «чистым» Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ процСссора ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния запроса. ΠŸΠ°ΡƒΠ·Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½ΠΎΠ΅ врСмя, Π½ΠΎ Π½Π΅ Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ процСссор. Однако ΠΎΠ½Π° ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΡŽ ΠΏΡƒΠ»Π° соСдинСний Π² Π‘Π£Π‘Π”, Ссли Ρ‚Π°ΠΊΠΈΡ… сСансов ΠΌΠ½ΠΎΠ³ΠΎ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ кластСра сСрвСров 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ сСансы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² состоянии оТидания слишком Π΄ΠΎΠ»Π³ΠΎ. БвСряйтС настройки Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сСансов с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π²Π°ΡˆΠΈΡ… ΠΏΠ°ΡƒΠ·.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°ΡƒΠ·Ρƒ ΠΌΠ΅Π½Π΅Π΅ 1 сСкунды Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ОТиданиС?

НСт, ΠΌΠ΅Ρ‚ΠΎΠ΄ ОТиданиС() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ†Π΅Π»Ρ‹Ρ… сСкундах. Для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ (Π² миллисСкундах) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΠ½(), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ интСрфСйса ΠΏΡ€ΠΈ Π΅Π³ΠΎ использовании Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ срабатываСт нСрСгулярно?

Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π² 1Π‘ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ миллисСкунды. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» срабатывания зависит ΠΎΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ клиСнтского прилоТСния ΠΈ частоты обновлСния интСрфСйса. Если Ρ„ΠΎΡ€ΠΌΠ° «тяТСлая» ΠΈ Π΄ΠΎΠ»Π³ΠΎ пСрСрисовываСтся, событиС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ.

Как ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с ΠΏΠ°ΡƒΠ·ΠΎΠΉ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠžΡ‚ΠΌΠ΅Π½Π°?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ОТиданиС(ВрСмя, Π˜ΡΡ‚ΠΈΠ½Π°). Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π˜ΡΡ‚ΠΈΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ систСмных ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ мСняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘Ρ‚ΠΎΠΏΒ».

ВлияСт Π»ΠΈ ΠΏΠ°ΡƒΠ·Π° Π² ΠΊΠΎΠ΄Π΅ Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 1Π‘?

Π”Π°, ΠΏΠΎΠΊΠ° сСанс Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ выполняСтся ΠΊΠΎΠ΄ (Π΄Π°ΠΆΠ΅ Ссли это ΠΏΠ°ΡƒΠ·Π°), лицСнзия считаСтся занятой. Если Ρƒ вас Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ количСство Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΡƒΠ·Ρ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ смогут Π·Π°ΠΉΡ‚ΠΈ Π² систСму.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sleep Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅?

ВСхничСски ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн, Π½ΠΎ Π΅Π³ΠΎ использованиС ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся. Π’Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° основного ΠΏΠΎΡ‚ΠΎΠΊΠ° JavaScript (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ эмулируСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 1Π‘) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ зависанию Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ ΠΊΡ€Π°ΡˆΡƒ процСсса Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°.