用品

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

Webhooks 允許基於 Web 的應用程序通過使用自定義回調進行交互。

使用 Webhooks 允許 Web 應用程序自動與其他 Web 應用程序通信。

與傳統系統(其中一個系統(主體)不斷輪詢另一個系統(觀察者)獲取某些數據)不同,Webhooks 允許觀察者在事件發生時自動將數據推送到主體的系統中。

這消除了對象持續監控的需要。 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 調用發起者返迴響應以指示狀態。 此步驟可能存在也可能不存在。

Webhooks 與 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

創新通訊
不要錯過有關創新的最重要新聞。 註冊以通過電子郵件接收它們。

最近的文章

出版商與 OpenAI 簽署協議以規範人工智慧處理的資訊流

上週一,英國《金融時報》宣布與 OpenAI 達成協議。英國《金融時報》授予其世界級新聞報道許可…

30月2024

線上支付:串流服務如何讓您永遠付款

數百萬人為串流媒體服務付費,每月支付訂閱費用。人們普遍認為您...

29月2024

Veeam 為勒索軟體提供最全面的支持,從保護到回應和恢復

Veeam 的 Coveware 將繼續提供網路勒索事件回應服務。 Coveware 將提供取證和修復功能…

23月2024

綠色與數位革命:預測性維護如何改變石油和天然氣產業

預測性維護正在透過創新和主動的工廠管理方法徹底改變石油和天然氣行業。

22月2024