码迷,mamicode.com
首页 > Web开发 > 详细

WebHooks - Web钩子

时间:2018-04-15 11:39:32      阅读:1033      评论:0      收藏:0      [点我收藏+]

标签:developer   发件人   drop   web api   订阅   运行   tps   信息   总线   

WebHooks,是一种HTTP交互的增强模式,是用户定义的http回调,这些回调由第三方的用户、开发人员自己定义、维护、管理,就好像允许别人挂载一条网线到你的Web网站或者应用程序的钩子上,来实时地收到你的推送信息,所以web钩子,由此得名。通过这种方式,为连接在一起的 Web Api 和 SaaS 服务提供发布/订阅模型,然后消除微服务架构事件总线(消息队列)这个对可用性起决定作用的组件,微服务之间的通信通过定义钩子来完成。这样我们不再需要单独部署高可用的消息队列来保障我们服务畅通,可以节省大量的人力、财力。

Web钩子工作机制

简单来讲,当我们的Saas系统发生变化的时候,比如用户下单、博客被评论、提交代码到仓库等,就会以Post的方式发送一个请求到响应钩子配置的Http回调。可以将WebHooks看做一种简洁的Sub/pub模式,只不过此时事件的载体是一个Http Post请求。

因为webhooks的简单性,目前很多主流的Saas系统都暴露有自己的Webhooks,比如:Dropbox, GitHub, GitLab, Instagram, MailChimp, PayPal, Slack, Trello,例如,我们可以为github代码提交定义一个web钩子;为Paypal的支付状态定义一个Web钩子;这样就能够实时地收到来自应用的推送信息,而不必要实时的轮训来请求实时的信息。

Webhook 处理管道

接收端
技术分享图片

  • 接收方负责处理来自给定发件人的 WebHook 的特定风格和强制实施安全性检查,以确保确实是预期的发件人发 WebHook 请求。
  • 处理程序通常是用户代码运行处理特定的 WebHook。

参考链接:
https://en.wikipedia.org/wiki/Webhook
https://blogs.msdn.microsoft.com/webdev/2015/09/04/introducing-microsoft-asp-net-webhooks-preview
https://developer.github.com/webhooks/
https://github.com/aspnet/WebHooks
https://docs.microsoft.com/zh-cn/aspnet/webhooks

WebHooks - Web钩子

标签:developer   发件人   drop   web api   订阅   运行   tps   信息   总线   

原文地址:https://www.cnblogs.com/justmine/p/8835908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!