В отличие от традиционных систем, в которых одна система (субъект) продолжает опрашивать другую систему (наблюдателя) для получения некоторых данных, веб-перехватчики позволяют наблюдателю автоматически передавать данные в систему субъекта всякий раз, когда происходит событие.
Это устраняет необходимость постоянного контроля со стороны субъекта. Веб-перехватчики работают исключительно в Интернете, поэтому вся связь между системами должна осуществляться в форме HTTP-сообщений.
Веб-перехватчики полагаются на наличие статических URL-адресов, указывающих на API-интерфейсы в системе субъекта, которые необходимо уведомлять, когда в системе наблюдателя происходит событие. Примером этого может быть веб-приложение, предназначенное для сбора и управления всеми заказами, размещенными в учетной записи Amazon пользователя. В этом сценарии Amazon выступает в роли наблюдателя, а веб-приложение Custom Order Management выступает в роли субъекта.
Вместо того, чтобы пользовательское веб-приложение периодически вызывало API Amazon для проверки созданного заказа, веб-перехватчик, созданный в пользовательском веб-приложении, позволял Amazon автоматически отправлять заказ, недавно созданный в веб-приложении, через зарегистрированный URL-адрес. Следовательно, чтобы разрешить использование веб-перехватчиков, субъект должен иметь назначенные URL-адреса, которые принимают уведомления о событиях от наблюдателя. Это снижает значительную нагрузку на объект, поскольку HTTP-вызовы выполняются между двумя сторонами только при возникновении события.
Как только веб-перехватчик субъекта вызывается наблюдателем, субъект может предпринять соответствующие действия с этими вновь отправленными данными. Как правило, веб-перехватчики выполняются через POST-запросы к определенному URL-адресу. Запросы POST позволяют отправлять дополнительную информацию объекту. Кроме того, его также можно использовать для идентификации среди множества различных возможных событий вместо создания отдельных URL-адресов веб-перехватчиков для каждого события.
Чтобы реализовать входящие веб-перехватчики в вашем приложении, вам необходимо выполнить следующие основные шаги:
И веб-перехватчики, и API-интерфейсы предназначены для установления связи между приложениями. Однако есть определенные преимущества и недостатки использования веб-перехватчиков по сравнению с API для достижения интеграции приложений.
Веб-хуки, как правило, являются лучшим решением, если следующие моменты более актуальны для реализованной системы:
Использование API должно быть предпочтительнее веб-перехватчиков в некоторых других ситуациях.
Важные вещи, которые следует учитывать при использовании API на веб-перехватчиках:
Чтобы справиться с возможностью потери данных, отправленных с сервера, когда веб-перехватчик отключается, вы можете использовать очередь сообщений о событиях для архивации этих вызовов. Примеры платформ, обеспечивающих такую функциональность, включают RabbitMQ o Служба простых очередей Amazon (SQS). Оба предназначены для работы в качестве промежуточных хранилищ сообщений, которые позволяют избежать возможности пропуска вызова веб-перехватчика.
Ercole Palmeri
Развитие мелкой моторики посредством раскрашивания готовит детей к более сложным навыкам, таким как письмо. Раскрасить…
Военно-морской сектор является настоящей глобальной экономической державой, которая достигла 150-миллиардного рынка...
В прошлый понедельник Financial Times объявила о сделке с OpenAI. FT лицензирует свою журналистику мирового уровня…
Миллионы людей платят за стриминговые сервисы, выплачивая ежемесячную абонентскую плату. Распространено мнение, что вы…