什么是 Webhook?AMS9.1將支持Webhook
- 2022-03-02 10:55:00
- admin 原創(chuàng)
- 9051
1. 什么是 Webhook?
Webhook 是一個 API 概念,是微服務 API 的使用范式之一,也被成為反向 API,即前端不主動發(fā)送請求,完全由后端推送;舉個常用例子,比如你的好友發(fā)了一條朋友圈,后端將這條消息推送給所有其他好友的客戶端,就是 Webhook 的典型場景。
簡單來說,Webhook 就是一個接收 HTTP POST(或GET,PUT,DELETE)的URL,一個實現(xiàn)了 Webhook 的 API 提供商就是在當事件發(fā)生的時候會向這個配置好的 URL 發(fā)送一條信息,與請求-響應式不同,使用 Webhook 你可以實時接受到變化。
這又是一種對客戶機-服務器模式的逆轉(zhuǎn),在傳統(tǒng)方法中,客戶端從服務器請求數(shù)據(jù),然后服務器提供給客戶端數(shù)據(jù)(客戶端是在拉數(shù)據(jù)),在 Webhook 范式下,服務器更新所需提供的資源,然后自動將其作為更新發(fā)送到客戶端(服務器是在推數(shù)據(jù)),客戶端不是請求者,而是被動接收方;這種控制關(guān)系的反轉(zhuǎn)可以用來促進許多原本需要在遠程服務器上進行更復雜的請求和不斷的輪詢的通信請求;通過簡單地接收資源而不是直接發(fā)送請求,我們可以更新遠程代碼庫,輕松地分配資源,甚至將其集成到現(xiàn)有系統(tǒng)中來根據(jù) API 的需要來更新端點和相關(guān)數(shù)據(jù),唯一的缺點是初始建立困難。
2. 主要用途
更新客戶端,在資源新建或者更新時提供更新的、指定的數(shù)據(jù)。
3. 常見 Webhook 使用場景
對于第三方平臺驗權(quán)、登陸等 沒有前端界面做中轉(zhuǎn)的場景,或者強安全要求的支付場景等,適合用 Webhook 做數(shù)據(jù)主動推送,說白了就是在前端無從參與,或者因為前端安全問題不適合參與時,就是 Webhook 的場景;很顯然 Webhook 也不是 Http 的替代品,不過的確是一種新的前后端交互方式。
如果客戶端要長期監(jiān)聽某個任務的狀態(tài),按照正常的 API 調(diào)用的方式去做,那么必須不停得輪訓服務器來獲取當前狀態(tài);使用 Webhook 則無需輪訓,通過 API 可以確定是否發(fā)生了更改,如果更改了只需要等待服務器推送信息過來,然后客戶端更新就可以;git webhook其實也是這方面的應用。
4. 使用說明
Webhook 通過請求發(fā)送數(shù)據(jù)到你的應用后,就不再關(guān)注這些數(shù)據(jù);也就是說如果你的應用存在問題,數(shù)據(jù)會丟失,許多 Webhook 會處理回應,如果程序出現(xiàn)錯誤會重傳數(shù)據(jù);如果你的應用處理這個請求并且依然返回一個錯誤,你的應用就會收到重復數(shù)據(jù)。
Webhook 可能會發(fā)出大量的請求,這樣會造成你的應用阻塞,確保你的應用能處理這些請求。
5.AMS中如何使用Webhook
AMS流媒體服務器與第三方平臺對接應用時,第三方平臺可以通過調(diào)用AMS提供的RestAPI接口實現(xiàn)創(chuàng)建頻道,設置信息,查詢信息。但是對于AMS內(nèi)部發(fā)生的事件,比如錄像節(jié)目生成,錄像分段后通知,硬盤空間不足等需要通知。頻道流中斷/恢復 通知等,這些可以采用WebHook方式通知到第三方平臺,無需輪訓查詢。降低了系統(tǒng)負載
聯(lián)系人: | 北極星通公司 |
---|---|
電話: | 010-56545416 |
傳真: | 010-82896426 |
Email: | support@bjsin.cn |
QQ: | 35338585 |
微信: | Aoku2017 | QQ群:241759321 |
地址: | 北京市中關(guān)村生命科學園創(chuàng)意園3-3-103 |