标签:developer 发件人 drop web api 订阅 运行 tps 信息 总线
WebHooks,是一种HTTP交互的增强模式,是用户定义的http回调,这些回调由第三方的用户、开发人员自己定义、维护、管理,就好像允许别人挂载一条网线到你的Web网站或者应用程序的钩子上,来实时地收到你的推送信息,所以web钩子,由此得名。通过这种方式,为连接在一起的 Web Api 和 SaaS 服务提供发布/订阅模型,然后消除微服务架构事件总线(消息队列)这个对可用性起决定作用的组件,微服务之间的通信通过定义钩子来完成。这样我们不再需要单独部署高可用的消息队列来保障我们服务畅通,可以节省大量的人力、财力。
简单来讲,当我们的Saas系统发生变化的时候,比如用户下单、博客被评论、提交代码到仓库等,就会以Post的方式发送一个请求到响应钩子配置的Http回调。可以将WebHooks看做一种简洁的Sub/pub模式,只不过此时事件的载体是一个Http Post请求。
因为webhooks的简单性,目前很多主流的Saas系统都暴露有自己的Webhooks,比如:Dropbox, GitHub, GitLab, Instagram, MailChimp, PayPal, Slack, Trello,例如,我们可以为github代码提交定义一个web钩子;为Paypal的支付状态定义一个Web钩子;这样就能够实时地收到来自应用的推送信息,而不必要实时的轮训来请求实时的信息。
接收端
参考链接:
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
标签:developer 发件人 drop web api 订阅 运行 tps 信息 总线
原文地址:https://www.cnblogs.com/justmine/p/8835908.html