товары

Что такое вебхук и как им пользоваться?

Веб-перехватчики позволяют веб-приложениям взаимодействовать с помощью пользовательских обратных вызовов.

Использование веб-перехватчиков позволяет веб-приложениям автоматически взаимодействовать с другими веб-приложениями.

В отличие от традиционных систем, в которых одна система (субъект) продолжает опрашивать другую систему (наблюдателя) для получения некоторых данных, веб-перехватчики позволяют наблюдателю автоматически передавать данные в систему субъекта всякий раз, когда происходит событие.

Это устраняет необходимость постоянного контроля со стороны субъекта. Веб-перехватчики работают исключительно в Интернете, поэтому вся связь между системами должна осуществляться в форме HTTP-сообщений.

Использование вебхуков

Веб-перехватчики полагаются на наличие статических URL-адресов, указывающих на API-интерфейсы в системе субъекта, которые необходимо уведомлять, когда в системе наблюдателя происходит событие. Примером этого может быть веб-приложение, предназначенное для сбора и управления всеми заказами, размещенными в учетной записи Amazon пользователя. В этом сценарии Amazon выступает в роли наблюдателя, а веб-приложение Custom Order Management выступает в роли субъекта.

Вместо того, чтобы пользовательское веб-приложение периодически вызывало API Amazon для проверки созданного заказа, веб-перехватчик, созданный в пользовательском веб-приложении, позволял Amazon автоматически отправлять заказ, недавно созданный в веб-приложении, через зарегистрированный URL-адрес. Следовательно, чтобы разрешить использование веб-перехватчиков, субъект должен иметь назначенные URL-адреса, которые принимают уведомления о событиях от наблюдателя. Это снижает значительную нагрузку на объект, поскольку HTTP-вызовы выполняются между двумя сторонами только при возникновении события.

Системы на основе опроса против систем на основе веб-перехватчиков

Как только веб-перехватчик субъекта вызывается наблюдателем, субъект может предпринять соответствующие действия с этими вновь отправленными данными. Как правило, веб-перехватчики выполняются через POST-запросы к определенному URL-адресу. Запросы POST позволяют отправлять дополнительную информацию объекту. Кроме того, его также можно использовать для идентификации среди множества различных возможных событий вместо создания отдельных URL-адресов веб-перехватчиков для каждого события.

Рабочий процесс веб-перехватчика

Чтобы реализовать входящие веб-перехватчики в вашем приложении, вам необходимо выполнить следующие основные шаги:

  • Предоставьте конечную точку API на сервере приложений, которая принимает и обрабатывает вызовы HTTP POST.
  • Предоставьте доступ к этой конечной точке потенциальным пользователям веб-перехватчиков. Конечная точка API будет вызывать приложение источника данных всякий раз, когда выполняются соответствующие условия.
  • Обработайте данные POST и верните ответ инициатору вызова веб-перехватчика, чтобы указать статус. Этот шаг может быть, а может и не быть.

Веб-хуки против API

И веб-перехватчики, и API-интерфейсы предназначены для установления связи между приложениями. Однако есть определенные преимущества и недостатки использования веб-перехватчиков по сравнению с API для достижения интеграции приложений.

Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.

Веб-хуки, как правило, являются лучшим решением, если следующие моменты более актуальны для реализованной системы:

  • Если данные на сервере часто обновляются, веб-перехватчики, как правило, являются лучшим решением, поскольку исключаются ненужные вызовы API от клиента к серверу. По данным resthooks.com, 98,5% опросов API пропадают даром.
  • Веб-перехватчики предоставляют лучшие решения для систем, которым требуется обновление данных практически в реальном времени. Опросы API обычно запускаются с заданными интервалами, что может помешать обновлению данных в реальном времени. При использовании веб-перехватчиков обновления отправляются с сервера клиенту сразу после срабатывания веб-перехватчика.

Использование API должно быть предпочтительнее веб-перехватчиков в некоторых других ситуациях.

Что следует учитывать

Важные вещи, которые следует учитывать при использовании API на веб-перехватчиках:

  • Использование API позволяет более точно настраивать время опроса данных с сервера, а также количество данных, запрашиваемых с сервера. Объем опрашиваемых данных определяется размером опроса API. При использовании веб-перехватчиков сервер обычно определяет данные и время их отправки.
  • Для систем с сильно изменчивыми данными (таких как системы реального времени, системы IoT и т. д.) опрос на основе API может быть лучшим вариантом, поскольку для каждого вызова API существует высокая вероятность полезных ответов.
  • Данные, отправленные с сервера через веб-перехватчик, могут полностью игнорироваться клиентом, если конечные точки REST отключены. Если на сервере нет механизма для повторения таких неудачных попыток отправки, обновления данных полностью теряются.

Чтобы справиться с возможностью потери данных, отправленных с сервера, когда веб-перехватчик отключается, вы можете использовать очередь сообщений о событиях для архивации этих вызовов. Примеры платформ, обеспечивающих такую ​​функциональность, включают RabbitMQ o Служба простых очередей Amazon (SQS). Оба предназначены для работы в качестве промежуточных хранилищ сообщений, которые позволяют избежать возможности пропуска вызова веб-перехватчика.

Ercole Palmeri

Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.

АРТИКОЛИ recenti

Преимущества раскрасок для детей — мир волшебства для всех возрастов

Развитие мелкой моторики посредством раскрашивания готовит детей к более сложным навыкам, таким как письмо. Раскрасить…

2 мая 2024

Будущее уже здесь: как судоходная отрасль меняет мировую экономику

Военно-морской сектор является настоящей глобальной экономической державой, которая достигла 150-миллиардного рынка...

1 мая 2024

Издатели и OpenAI подписывают соглашения, регулирующие поток информации, обрабатываемой искусственным интеллектом.

В прошлый понедельник Financial Times объявила о сделке с OpenAI. FT лицензирует свою журналистику мирового уровня…

Апрель 30 2024

Онлайн-платежи: вот как потоковые сервисы заставляют вас платить вечно

Миллионы людей платят за стриминговые сервисы, выплачивая ежемесячную абонентскую плату. Распространено мнение, что вы…

Апрель 29 2024

Читайте «Инновации» на вашем языке

Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.

Следуйте за нами