Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ Π² экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто сталкиваСтся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Β«Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика». Когда ваша конфигурация ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π²Π΅Π±-сСрвис, Π° внСшняя систСма отправляСт Π² Π½Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, Π»ΡŽΠ±Ρ‹Π΅ сбои ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скрыты Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π°. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-сСрвисы 1Π‘, являСтся критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с HTTP-сСрвисами ΠΈΠ»ΠΈ Web-сСрвисами (SOAP). Π‘Π΅Π· Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΉ диагностики поиск ошибки прСвращаСтся Π² Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠ΅ Π³Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡ„Π΅ΠΉΠ½ΠΎΠΉ Π³ΡƒΡ‰Π΅.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС срСдства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ рСгистрации, Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ сторонниС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° SOAP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠ² с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π°Π·Ρ‹.

ИспользованиС ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² рСгистрации ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

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

Для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль администрирования сСрвСра 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ. Π’ свойствах кластСра ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСрвСра Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π» настройки ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Π’Π°ΠΌ потрСбуСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ шаблон рСгистрации, Π²Ρ‹Π±Ρ€Π°Π² событиС Web-сСрвис ΠΈΠ»ΠΈ HTTP-сСрвис. Π’Π°ΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π°.

Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ логирования всСх сСрвисов ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Π½Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму сСрвСра. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ сСрвиса ΠΈΠ»ΠΈ IP-адрСсу ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ записСй ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅, Π·Π½Π°Ρ‡ΠΈΡ‚, запрос Π΄Π°ΠΆΠ΅ Π½Π΅ дошСл Π΄ΠΎ уровня ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² сСтСвом экранС ΠΈΠ»ΠΈ Π²Π΅Π±-сСрвСрС (IIS/Apache).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: На высоконагруТСнных сСрвСрах Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β» ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ заполнСнию диска Π·Π° нСсколько часов. ВсСгда настраивайтС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ объСм Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Анализ записСй Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос: «Попал Π»ΠΈ запрос Π²Π½ΡƒΡ‚Ρ€ΡŒ?Β». Если запись Π΅ΡΡ‚ΡŒ, Π½ΠΎ с ошибкой выполнСния, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ошибки ΠΈ тСкст ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π­Ρ‚ΠΎ суТаСт ΠΊΡ€ΡƒΠ³ поиска Π΄ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ самого модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° сСрвиса.

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° модуля сСрвиса

Когда ΠΆΡƒΡ€Π½Π°Π»Ρ‹ рСгистрации Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ содСрТимого запроса, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Π΅Π±-сСрвиса Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π° для сохранСния входящих XML ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹, Π½ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’ Π±Π»ΠΎΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ фиксируйтС описаниС ошибки, ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈ, ΠΏΠΎ возмоТности, стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ воспроизвСсти ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π½Π° тСстовом стСндС.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ›ΠΎΠ³Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Вакая функция Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ имя сСрвиса, ΠΌΠ΅Ρ‚ΠΎΠ΄, входящиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ статус выполнСния. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… с систСмными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (GUID) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² Π»ΠΎΠ³Π°Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ запись Π² 1Π‘ с записью Π²ΠΎ внСшнСй систСмС, Ссли ΠΎΠ½Π° Ρ‚ΠΎΠΆΠ΅ Π²Π΅Π΄Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ этому ID.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π—Π°ΠΏΠΈΡΡŒ Π½Π° диск β€” опСрация синхронная ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСдлСнная. Π’ высоконагруТСнных ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°Ρ… рассмотритС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² Ρ„Π°ΠΉΠ» Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° внСшними сниффСрами

Иногда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² ΠΊΠΎΠ΄Π΅ 1Π‘, Π° Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ сСти. Для Π°Π½Π°Π»ΠΈΠ·Π° «сырого» Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сниффСры, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Wireshark ΠΈΠ»ΠΈ Fiddler. Π­Ρ‚ΠΈ инструмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ Ρ‚Π΅Π»ΠΎ SOAP-сообщСния Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

ΠŸΡ€ΠΈ использовании Fiddler Classic Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ HTTPS-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π΅Π±-сСрвисы 1Π‘ часто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ, Π²Π°ΠΌ придСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ сСртификат Fiddler Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° сСрвСр, Ссли Π²Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ исходящий ΠΎΡ‚ 1Π‘. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ XML.

  • πŸ” Wireshark β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Π°Π½Π°Π»ΠΈΠ·Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… сСтСвых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² соСдинСний ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ TCP/IP.
  • πŸ“Ÿ Fiddler β€” ΠΈΠ΄Π΅Π°Π»Π΅Π½ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ HTTP-запросов, позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π½Π° сСрвСр.
  • πŸ›  SoapUI β€” спСциализированная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для тСстирования SOAP ΠΈ REST сСрвисов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ запросов для рСгрСссионного тСстирования.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих инструмСнтов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, соотвСтствуСт Π»ΠΈ структура отправляСмого XML ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ схСмС (XSD). Часто внСшниС систСмы ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ поля Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ порядкС ΠΈΠ»ΠΈ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ парсинга Π½Π° сторонС 1Π‘ Π΅Ρ‰Π΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° выполнСния ΠΊΠΎΠ΄Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ Ρ‡Π°Ρ‰Π΅ всСго?
Π–ΡƒΡ€Π½Π°Π»Ρ‹ рСгистрации 1Π‘
Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»
Fiddler / Wireshark
SoapUI / Postman

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ Content-Type ΠΈ SOAPAction. Π˜Ρ… нСсоотвСтствиС трСбованиям ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ сСрвиса являСтся частой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ошибок 500 ΠΈΠ»ΠΈ 415.

АвтоматизированноС тСстированиС Ρ‡Π΅Ρ€Π΅Π· HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚

Ручная ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· внСшнюю систСму β€” процСсс Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ. Π“ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСстовый ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ самой 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ HTTPΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы ΠΊ своСму ΠΆΠ΅ Π²Π΅Π±-сСрвису.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сцСнарии ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅, быстро провСряя Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XML-запрос Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Π—Π°ΠΏΠΈΡΡŒXML, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° адрСс ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° внСшняя систСма нСдоступна ΠΈΠ»ΠΈ находится Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ = Новый HTTPΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅("localhost", 8080);

Запрос = Новый HTTPЗапрос("/ws/MyService");

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ’Π΅Π»ΠΎΠ˜Π·Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(XMLΠ‘Ρ‚Ρ€ΠΎΠΊΠ°, "text/xml; charset=utf-8");

ΠžΡ‚Π²Π΅Ρ‚ = Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΠ”Π»ΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ(Запрос);

Π’Π΅Π»ΠΎΠžΡ‚Π²Π΅Ρ‚ = ΠžΡ‚Π²Π΅Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅Π»ΠΎΠšΠ°ΠΊΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

ИспользованиС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° снимаСт вопросы ΠΎ сСтСвой доступности ΠΈ коррСктности настроСк IIS, фокусируя Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ сСрвиса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ пошагово ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запроса), Ρ‚Π°ΠΊ ΠΈ Π½Π° сторонС сСрвСра (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ тСстировании Ρ‡Π΅Ρ€Π΅Π· localhost ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ hosts Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ запроса, ΠΈ Ρ‡Ρ‚ΠΎ брандмауэр Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвиса.

Анализ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

Π’ процСссС эксплуатации Π²Π΅Π±-сСрвисов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ошибок. ПониманиС ΠΈΡ… ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ позволяСт ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых сбоСв ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΡ… устранСния.

Код/Π’ΠΈΠΏ ошибки ВСроятная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
HTTP 401 Unauthorized НСвСрныС ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ отсутствиС ΠΏΡ€Π°Π² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΏΡ€Π°Π²Π° доступа Π² Ρ€ΠΎΠ»ΠΈ Π²Π΅Π±-сСрвиса
HTTP 500 Internal Server Error НСобработанноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 1Π‘ Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈ Π»ΠΎΠ³ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°
XML Parsing Error ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ структуры XML ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Type ΠΈ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ XML Ρ‡Π΅Ρ€Π΅Π· Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€
Timeout Exception Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π‘Π” ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ошибки сСриализации. Если Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² XML, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.

Π’Π°ΠΊΠΆΠ΅ частой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° сСансов. Если Π²Π΅Π±-сСрвис выполняСтся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡƒΠ»Π΅ процСссов, Ρ‡Ρ‚ΠΎ ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сСансы с ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ взаимная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° (deadlock). РазнСсСниС сСрвисов Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ» процСссов ΠΈΠ»ΠΈ использованиС Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΡƒΠ» процСссов:Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅Π±-сСрвисов Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ» процСссов Π½Π° сСрвСрС 1Π‘ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ влияниС тяТСлых запросов ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ основных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ настраиваСтся Π² консоли администрирования сСрвСров.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π½Π΅ заканчиваСтся Π½Π° устранСнии ошибок. Π’Π΅Π±-сСрвис Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро. Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнный ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. Он ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° сколько β€” Π½Π° вычислСния.

Часто Β«Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π°Β» связаны с отсутствиСм индСксов Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°, ΠΈΠ»ΠΈ с Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ запросами Π² Π‘ΠšΠ”. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ «горячиС Ρ‚ΠΎΡ‡ΠΊΠΈΒ» ΠΊΠΎΠ΄Π°. ΠžΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” это классичСская ошибка, ΡƒΠ±ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Если сСрвис Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ асинхронной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΆΠ΄Π°Ρ‚ΡŒ формирования ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π΅ΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ задания, Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ запросом ΠΏΠΎ готовности.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ сСрвиса

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Π²Π΅Π½Π΄ΠΎΡ€Π°ΠΌΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм. ВсСгда свСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ спСцификации (WSDL, Swagger) с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

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

πŸ’‘

Грамотная ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π²Π΅Π±-сСрвисов 1Π‘ строится Π½Π° Ρ‚Ρ€Π΅Ρ… ΠΊΠΈΡ‚Π°Ρ…: Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ тСстированиС Ρ‡Π΅Ρ€Π΅Π· HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π²Π΅Π±-сСрвиса Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия?

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ нСпосрСдствСнно Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 1Π‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (ΠΊΠ»ΡŽΡ‡ /DEBUG). Однако, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвисы Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ, этот способ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ эмулируСтС запрос ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±Π°Π·Ρ‹. Для Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ рСгистрации ΠΈ Π»ΠΎΠ³ΠΈ Π² Ρ„Π°ΠΉΠ»Π°Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π΅Π±-сСрвис Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ 500 Π±Π΅Π· тСкста?

Π§Π°Ρ‰Π΅ всСго это происходит, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½ΠΎ, Π° настройка ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Π²Π΅Π±-сСрвСрС (IIS/Apache). Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β«Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…Β» Π² настройках Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²Π΅Π±-сСрвСра 1Π‘.

МоТно Π»ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ REST-сСрвисы Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ SOAP?

Π”Π°, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ‚Π΅ ΠΆΠ΅: Π»ΠΎΠ³ΠΈ, сниффСры ΠΈ тСстовыС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹. Π Π°Π·Π½ΠΈΡ†Π° лишь Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (JSON вмСсто XML) ΠΈ отсутствии ТСсткой схСмы WSDL. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ REST ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты Π²Ρ€ΠΎΠ΄Π΅ Postman, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ наглядно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ структуру JSON-ΠΎΡ‚Π²Π΅Ρ‚Π°.

Π“Π΄Π΅ хранятся Π»ΠΎΠ³ΠΈ Π²Π΅Π±-сСрвисов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?

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