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

ЀактичСски, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ… ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ интСрфСйсах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ "ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ" с ΠΌΠΈΡ€ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… со сканСра ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ², ΠΎΠ±ΠΌΠ΅Π½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ с сайтом Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы ΠΈΠ»ΠΈ прямоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ склада. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих ΠΊΠ°Π½Π°Π»ΠΎΠ² связи критичСски Π²Π°ΠΆΠ½ΠΎ для построСния Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прСдприятия.

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

АрхитСктура ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 построСна Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ, Ρ‚Π°ΠΊ ΠΈ Π² связкС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Роль "ΡˆΠΈΠ½Ρ‹" здСсь Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ встроСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ транспорт Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ классичСских шин прСдприятия (ESB), Π² 1Π‘ эти ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· стандартныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ высоконагруТСнных систСм ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² Π² Ρ€ΠΎΠ»ΠΈ основной ΡˆΠΈΠ½Ρ‹. Π—Π°ΠΏΠΈΡΡŒ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… с диска создаСт ΡƒΠ·ΠΊΠΎΠ΅ мСсто (I/O bottleneck), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй Π±Π°Π·Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ доступС мноТСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ асинхронного взаимодСйствия. ИспользованиС Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ позволяСт Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ основной ΠΏΠΎΡ‚ΠΎΠΊ выполнСния ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ входящиС запросы Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними API.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ "Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания" для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тяТСлых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ зависал Π²ΠΎ врСмя ΠΎΠ±ΠΌΠ΅Π½Π°.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ COM ΠΈ OLE ΠΊΠ°ΠΊ локальная шина

Одним ΠΈΠ· ΡΡ‚Π°Ρ€Π΅ΠΉΡˆΠΈΡ… ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных способов ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² срСдС Windows являСтся использованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ COM (Component Object Model) ΠΈ OLE Automation. Π’ контСкстС 1Π‘ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ "внСшним соСдинСниСм". Он позволяСт ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ 1Π‘ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ 1Π‘ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ этот стандарт, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ частями Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎ создаСт ΠΏΡ€ΡΠΌΡƒΡŽ ссылку Π½Π° процСсс Π²ΠΎ внСшнСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, открывая доступ ΠΊ Π΅Ρ‘ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ свойствам. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΠ· Π±Π°Π·Ρ‹ "БухгалтСрия" прямо Π² Π±Π°Π·Ρƒ "Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ", Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΡƒΡŽ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ сСрвСрС.

  • πŸ”— ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ внСшнСй Π±Π°Π·Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  • ⚑ Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ локальной сСти.
  • πŸ›  Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования всСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ модСлирования внСшнСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • πŸ–₯ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π½Π° машинС, Π³Π΄Π΅ выполняСтся Π²Ρ‹Π·ΠΎΠ².

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
COM-соСдинСниС
HTTP-сСрвисы
Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΠΌΠ΅Π½
ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΊ SQL

HTTP-сСрвисы ΠΈ REST API: соврСмСнная шина Π΄Π°Π½Π½Ρ‹Ρ…

Π’ соврСмСнных рСалиях Ρ€ΠΎΠ»ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠΈΠ½Ρ‹ всС Ρ‡Π°Ρ‰Π΅ Π±Π΅Ρ€ΡƒΡ‚ Π½Π° сСбя HTTP-сСрвисы. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ позволяСт ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвисы, доступныС ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTP/HTTPS. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, способный ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы ΠΎΡ‚ Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²: ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, сайтов, Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм 1Π‘ ΠΈΠ»ΠΈ стороннСго ПО.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ HTTPБСрвис. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ описываСт URL-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов (GET, POST, PUT, DELETE). Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… JSON ΠΈΠ»ΠΈ XML, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ языка программирования ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ стандарт Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для построСния микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ 1Π‘.

Ѐункция ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ—Π°ΠΏΡ€ΠΎΡGET(Запрос)

ΠžΡ‚Π²Π΅Ρ‚ = Новый HTTPΠ‘Π΅Ρ€Π²ΠΈΡΠžΡ‚Π²Π΅Ρ‚(200);

ΠžΡ‚Π²Π΅Ρ‚.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ’Π΅Π»ΠΎΠ˜Π·Π‘Ρ‚Ρ€ΠΎΠΊΠΈ("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!");

ΠžΡ‚Π²Π΅Ρ‚.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Content-Type", "text/plain");

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠžΡ‚Π²Π΅Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ИспользованиС REST API Π΄Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ сообщСний, Π³Π΄Π΅ 1Π‘ выступаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, Π½Π΅ зная ΠΎ сущСствовании ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ систСмы: Ссли ΠΎΠ΄Π½Π° ΠΈΠ· сторон Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСдоступна, запросы ΠΌΠΎΠ³ΡƒΡ‚ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅.

πŸ’‘

HTTP-сСрвисы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 1Π‘ с внСшним ΠΌΠΈΡ€ΠΎΠΌ, позволяя Π»Π΅Π³ΠΊΠΎ Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими сСрвСрами.

Π Π°Π±ΠΎΡ‚Π° с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ: шина ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств

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

Настройка Ρ‚Π°ΠΊΠΎΠ³ΠΎ взаимодСйствия Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ указания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Ошибки Π² настройках скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (BaudRate) ΠΈΠ»ΠΈ чСтности ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ Π² систСмС, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π’Π½Π΅ΡˆΠ½Π΅Π³ΠΎΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡ для ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этого процСсса.

Π’ΠΈΠΏ устройства ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» связи Випичная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки
Π‘ΠΊΠ°Π½Π΅Ρ€ ШК (USB) HID / COM-эмуляция < 50 мс Низкая
Π€ΠΈΡΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ рСгистратор ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ККВ (ΠΠ’ΠžΠ›/Π¨Ρ‚Ρ€ΠΈΡ…) 100-300 мс БрСдняя
Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» сбора Π΄Π°Π½Π½Ρ‹Ρ… FTP / Π’Π΅Π±-сСрвис Зависит ΠΎΡ‚ Wi-Fi Высокая
ВСсы ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠŸΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» 50-100 мс Высокая

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΠΈΡΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСгистраторами Ρ‡Π΅Ρ€Π΅Π· сСтСвой интСрфСйс ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ брандмауэр Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚Ρ‹ связи. Частая ошибка β€” ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² тСстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΎΡ‚ΠΊΠ°Π· Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈΠ·-Π·Π° ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСти.

β˜‘οΈ Диагностика ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ оборудования

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

ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ сообщСний ΠΈ асинхронная интСграция

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования RabbitMQ с 1Π‘

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся внСшняя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AddIn RabbitMQ). 1Π‘ выступаСт Π² Ρ€ΠΎΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π°, отправляя JSON-сообщСния Π² Exchange, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ Queue для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСрвисами.

РСализация асинхронного ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли сообщСниС Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ? НСобходим ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ (retry) ΠΈ "ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ" (DLQ) для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘Π΅Π· этого Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ бСсслСдно ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ ΠΈΠ· систСмы.

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

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

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

  • πŸ“‰ Ошибки Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°: ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ врСмя оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° Π² настройках соСдинСния.
  • πŸ” Ошибки Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΡ€Π°Π²Π° доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • πŸ’Ύ Ошибки памяти: ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….
  • 🌐 Ошибки сСти: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°Π½Π°Π»Π° ΠΈ настройки DNS.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π»ΠΈΠΌΠΈΡ‚Π°Ρ… Π²Π΅Π±-сСрвСров. ΠŸΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ 1Π‘ ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвиса Ρ‡Π΅Ρ€Π΅Π· IIS ΠΈΠ»ΠΈ Apache, ограничСния Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ запроса (maxRequestLength) ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ массивов Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Π²Π΅Π±-сСрвСра.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настройки стороннСго ПО (Π²Π΅Π±-сСрвСров, Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΠ² сообщСний) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с обновлСниями. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСдС.

πŸ’‘

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ HTTP-запросов Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π΅Π±-сСрвСра (IIS/Apache), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ "сырыС" Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приходят Π² 1Π‘, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚ ошибки Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ COM-соСдинСниСм ΠΈ Π’Π½Π΅ΡˆΠ½ΠΈΠΌ источником Π΄Π°Π½Π½Ρ‹Ρ…?

COM-соСдинСниС позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ внСшнСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ…), работая Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ источник Π΄Π°Π½Π½Ρ‹Ρ… (ODBC) Π΄Π°Π΅Ρ‚ прямой доступ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ SQL, минуя Π»ΠΎΠ³ΠΈΠΊΡƒ 1Π‘, Ρ‡Ρ‚ΠΎ быстрСС, Π½ΠΎ опаснСС для цСлостности Π΄Π°Π½Π½Ρ‹Ρ….

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 1Π‘ ΠΊΠ°ΠΊ ΡˆΠΈΠ½Ρƒ для IoT устройств?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы ΠΈΠ»ΠΈ MQTT (с использованиСм Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²). Однако для высоконагруТСнных IoT систСм Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 1Π‘ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ систСму Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ хранСния, Π° ΠΏΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ спСциализированным шлюзам.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сТатиС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ записью Π² Ρ„Π°ΠΉΠ» (класс Π‘ΠΆΠ°Ρ‚ΠΈΠ΅Π”Π°Π½Π½Ρ‹Ρ…). Π’Π°ΠΊΠΆΠ΅ эффСктивно Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ большой Ρ„Π°ΠΉΠ» Π½Π° мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ссли Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° сСрвСра это позволяСт.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли HTTP-сСрвис Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ 500?

Ошибка 500 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ сСрвСра. НСобходимо ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации 1Π‘ Π½Π° сСрвСрС. ЧастыС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹: Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ° ΠΏΡ€Π°Π² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π²Π΅Π±-сСрвис, ΠΈΠ»ΠΈ ошибка Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса (Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ).

БСзопасно Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΡˆΠΈΠ½Ρƒ 1Π‘?

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ настроСк ΠΊΠ°Π½Π°Π»Π°. ΠŸΡ€ΠΈ использовании HTTP ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ примСняйтС HTTPS с Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌΠΈ SSL-сСртификатами. Для COM-соСдинСний ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа Π² Windows ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи с минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ привилСгиями.