货物

什么是 Webhook 以及如何使用它?

Webhooks 允许基于 Web 的应用程序通过使用自定义回调进行交互。

使用 Webhooks 允许 Web 应用程序自动与其他 Web 应用程序通信。

与传统系统(其中一个系统(主体)不断轮询另一个系统(观察者)获取某些数据)不同,Webhook 允许观察者在事件发生时自动将数据推送到主体的系统中。

这消除了对象持续监控的需要。 Webhook 完全在 Internet 上运行,因此系统之间的所有通信都必须以 HTTP 消息的形式进行。

使用网络钩子

Webhook 依赖于指向主体系统中 API 的静态 URL,当观察者系统中发生事件时需要通知这些 API。 一个例子是一个网络应用程序,旨在收集和管理用户亚马逊帐户上的所有订单。 在此场景中,Amazon 充当观察者,Custom Order Management Webapp 充当主体。

自定义 Web 应用程序中创建的 Webhook 将允许亚马逊通过注册的 URL 自动提交在 Web 应用程序中新创建的订单,而不是让自定义 Web 应用程序定期调用 Amazon API 来检查创建的订单。 因此,要启用 Webhooks,主体必须具有指定的 URL 来接受来自观察者的事件通知。 这减少了对象上的显着负载,因为仅当事件发生时才在两方之间进行 HTTP 调用。

基于轮询的系统与基于 Webhook 的系统

一旦观察者调用主体的 Webhook,主体就可以对新提交的数据采取适当的操作。 通常,Webhook 是通过对特定 URL 发出 POST 请求来完成的。 POST 请求允许您向对象发送附加信息。 此外,它还可以用于识别多种可能的事件,而不是为每个事件创建单独的 Webhook URL。

Webhook 工作流程

要在您的应用程序上实施入站 Webhook,您需要执行以下基本步骤:

  • 在应用程序服务器上公开接受和处理 HTTP POST 调用的 API 端点
  • 为潜在的 Webhook 用户提供对此端点的访问。 只要满足相关条件,API端点就会调用数据源应用程序。
  • 处理 POST 数据并向 Webhook 调用发起者返回响应以指示状态。 此步骤可能存在也可能不存在。

Webhook 与 API

Webhooks 和 API 的目标都是在应用程序之间建立通信。 然而,使用 Webhooks 相对于 API 来实现应用程序集成有一些明显的优点和缺点。

创新通讯
不要错过有关创新的最重要新闻。 注册以通过电子邮件接收它们。

如果以下几点与已实现的系统更相关,那么 Webhooks 往往是更好的解决方案:

  • 如果服务器上的数据经常更新,Webhooks 往往是更好的解决方案,因为消除了从客户端到服务器的不必要的 API 调用。 根据 Resthooks.com 的数据,98,5% 的 API 调查都被浪费了。
  • Webhook 为需要近实时数据更新的系统提供了更好的解决方案。 API 轮询通常按设定的时间间隔运行,这可能会阻止更新实时数据。 使用 Webhook,一旦触发 Webhook,更新就会从服务器发送到客户端。

在某些其他情况下,使用 API 应该优于 Webhook。

需要考虑的事情

在 Webhooks 上使用 API 需要考虑的重要事项是:

  • 使用 API 可以对何时从服务器轮询数据以及从服务器轮询多少数据进行更多自定义。 要轮询的数据量由 API 轮询大小决定。 使用 Webhooks,服务器通常决定数据以及何时发送。
  • 对于数据高度可变的系统(例如实时系统、物联网系统等),基于 API 的轮询可能是更好的选择,因为对于每个 API 调用,可用响应的可能性很高。
  • 如果 REST 端点离线,客户端可能会完全忽略通过 Webhook 从服务器发送的数据。 如果服务器没有重试此类失败推送的机制,则数据更新将完全丢失。

为了应对 Webhook 脱机时丢失从服务器发送的数据的可能性,您可以使用事件消息队列来存档这些调用。 提供此类功能的平台示例包括 的RabbitMQ o Amazon 的简单队列服务 (SQS)。 两者都被设计为充当中间消息存储设施,以避免错过 Webhook 调用的可能性。

Ercole Palmeri

创新通讯
不要错过有关创新的最重要新闻。 注册以通过电子邮件接收它们。

Articoli最新回应

卡塔尼亚综合诊所的 Apple 观众对增强现实进行创新干预

卡塔尼亚综合诊所使用 Apple Vision Pro 商业查看器进行了眼部整形手术……

3 2024五月

儿童涂色页的好处 - 适合所有年龄段的魔法世界

通过着色培养精细运动技能可以帮助孩子们为写作等更复杂的技能做好准备。填色…

2 2024五月

未来已来:航运业如何彻底改变全球经济

海军部门是真正的全球经济力量,已迈向 150 亿美元的市场……

1 2024五月

出版商和 OpenAI 签署协议以规范人工智能处理的信息流

上周一,英国《金融时报》宣布与 OpenAI 达成协议。英国《金融时报》授予其世界级新闻报道许可……

四月30 2024