Webhook介绍和应用

Webhook概念
  • Webhook本质上也是API,只不过是反向调用。
Webhook 产生背景
  • 正常调用API是由应用去调用对方服务器的API,为了实现最大程度利用好资源以及并发,通常这个API可能是异步调用,这样,在调用的过程中,就无法直接返回调用的结果和状态。此时,如果我们需要了解调用的结果和状态,则需要调用服务的查询接口,主动地去轮询,结果的及时性取决于我们的轮询的频率。
Webhook工作原理
  • 为了及时通知,此时就产生了Webhook这种概念,其实就是为了更好地去通知调用的结果。在我们发出请求的时候,可以向服务器注册一个Webhook的地址,告诉服务器说,等调用结果一出来,第一时间通过这个Webhook地址通知我,我好处理接下来的步骤。
Webhook设计
  • 了解原理之后,就不难去设计了。
  • 基于原理,那么其实调用服务的双方都得有API,其实这在一定的程度上也增加了设计的复杂度和安全性。在设计过程中,需要注意以下3点:
    • 1、 对于调用方,需要设计一个api地址,供服务方进行调用
    • 2、对于服务方,需要设计一个通知机制,对订阅内容进行渠道的通知
    • 3、为了增强通讯的安全性以及稳定性,需要考虑API调用时的安全性,如增加token访问,验证等措施,同时为了保证每次的API能正确及时调用,需要对调用的结果进行判断和验证。
举例应用
  • 说了那么多理论,我们还是来看一个实际的案例吧,这样方便加深大家的理解。我们经常用的GitHub网站,他就提供了这种Webhook,所以我们利用他这个特性,可以随时更新我们的应用代码,实现线上应用自动更新。
    在这里插入图片描述
  • 打开一个项目的设置,可以看到Webhooks的配置项。
  • 在下面可以选择我们哪种情况需要通知。

在这里插入图片描述

  • 我们可以选择在push时,及向仓库提交代码时候,通过原先配置的Webhooks地址,重新去编译和构建我们的应用。至此我们就可以完成自动化部署。
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值