Рубрики
Uncategorized

Стоит ли использовать WebHooks?

В этом уроке мы объясняем веб -крючки и сравниваем его с другими стратегиями связи, используемыми онлайн -приложениями, чтобы определить, какой из них лучше всего подходит для вашего варианта использования. Tagged с Showdev, Tulciory, Webhooks, DevOps.

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

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

Как работают веб -хуки

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

Запросы WebHook могут быть отправлены с помощью POST или получить методы запроса. Это зависит от предпочтений поставщика веб -крюков — информация о том, как потреблять запросы, всегда доступна в документации поставщика.

Теперь, когда у нас хорошее понимание того, как работают Webhooks, давайте погрузимся в некоторые сравнения.

Webhooks vs Websockets

Как работают веб -питания

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

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

Различия между веб -крючками и веб -питаниями

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

Webhooks в основном используются двумя серверами для передачи информации, в то время как веб-билет используются в основном для связи с сервером-клиентом (в основном веб-браузеров).

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

С точки зрения протоколов связи WebSocket использует свой собственный пользовательский Ws Протокол, в то время как веб -крючки используют обычный HTTP.

Когда использовать веб -питания

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

Webhooks против паба/sub

Как работает паб/sub

Паб/sub , который является коротким для публикации/подписки, является системой связи для распределения сообщений между набором издателей (производителей сообщений) и подписчиками (потребители сообщений). Паб/субсистема буферирует сообщения от производителей и направляет их для подписчиков с помощью выделенных каналов, известных как Темы Анкет Издатели публикуют сообщения в темы, а подписчики выражают интерес, подписываясь на темы.

Как только сообщение опубликовано в определенную тему, сообщение клонируется и отправляется всем подписчикам, подписанным на него.

Различия между веб -крючками и пабом/суб

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

Webhooks-это прямая форма общения между производителем и потребителем, в то время как Pub/Sub-это средняя структура, которая направляет сообщения от издателей на подписчики. Установка связи в веб-крючке состоит из одного к одному, то есть одного производителя одного потребителя, в то время как в пабе/субсидике вы можете получить много производителей, отправляющих сообщения нескольким потребителям.

Когда использовать паб/sub

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

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

Примером ситуации, когда подходит паб/суб-система, является на сайте электронной коммерции. Когда клиент совершает покупку, вам необходимо отправить счет клиенту, отправить информацию в отдел доставки и ввести запись продажи в вашем CRM. Давайте представим, что услуга по почте, служба доставки и служба записи выполняет эти обязанности соответственно.

Это три системы, заинтересованные в одном и том же сообщении. Вы можете опубликовать это сообщение в пабе/суб -систему, которая затем направит его в эти три подписанные услуги.

Webhooks против опроса

Как работает опрос

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

Опрос используется для запроса систем для новой информации и может быть настроен в виде автоматизированного Крон работа, которая работает с определенными интервалами.

Чем WebHooks отличается от опроса

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

Запросы на опросы выполняются клиентом, в то время как запросы Webhook выполняются сервером. Webhooks также автоматически запускается, когда происходит событие, тогда как опрос проводится для запуска с фиксированными промежутками и запускается, независимо от того, есть ли новое событие или нет.

Опрос может быть ресурсоемким, и вам необходимо позвонить, будут ли усилия плодотворными или нет. Это не относится к запросам Webhook, которые сделаны только тогда, когда есть новая информация.

Когда использовать опросы

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

Представьте, что вы запускаете успешный стартап, и количество пользователей растет на ста секунды. Вы хотите, чтобы большой экран в середине офиса отобразил ваше текущее количество подписчиков. Подписка на новые данные каждый раз, когда новый пользователь подписывает, будет хаос.

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

Webhooks против API

Что такое API?

API — это шлюз приложения в мир. Это интерфейс, который позволяет другим системам взаимодействовать с приложением. Приложение может разоблачить столько, сколько хочет, и держать свои оставшиеся части абстрактными.

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

Чем WebHooks отличается от API

Webhooks звонят в API. API предоставляет веб -крючки с точкой входа, чтобы подтолкнуть данные в приложение. Когда событие происходит в исходном приложении, запрос на веб -крюк запускается к одной из конечных точек API. Эта конечная точка известна как URL Webhook.

Когда использовать веб -крючки

Теперь, когда у вас есть хорошее понимание того, как работают веб -крючки и другие системы связи, в каких сценариях уместно использовать Webhooks?

Webhooks — это упрощенная модель общения. Таким образом, вы должны использовать Webhooks, когда вам требуется следующее:

  • Одностороннее общение в реальном времени (от источника до пункта назначения)
  • Непрерывная связь между общением двух систем
  • Вы хотите немедленно ответить на мероприятие из приложения SaaS, которое поддерживает WebHooks
  • Вы хотите использовать модель push, чтобы немедленно протолкнуть обновления
  • Общение один к одному

Много Саас Приложения используют веб -крючки для общения — например, Shopify Использует Webhooks для передачи событий, например, когда обновляется корзина для покупок или продажа. Полоса использует веб -крючки для передачи событий, таких как обновления учетных записей, платежи и т. Д.

Вывод

Знание правильных инструментов для решения проблемы — это то, что отличает инженеров. Тот факт, что техника проста, причудливая или в основном принятая автоматически, не делает его лучшим инструментом для работы. Webhooks просты и просты в реализации, но не всегда могут быть правильным способом решения проблемы, которую вы пытаетесь решить. Возможность понять преимущества и ограничения процесса Webhooks, надеюсь, поможет вам понять правильные места для его реализации.

Оригинал: «https://dev.to/hookdeck/should-you-be-using-webhooks-2gim»