Webhook概念

  • Webhook本质上也是API,只不过是反向调用。

Webhook 产生背景

  • 正常调用API是由应用去调用对方服务器的API,为了实现最大程度利用好资源以及并发,通常这个API可能是异步调用,这样,在调用的过程中,就无法直接返回调用的结果和状态。此时,如果我们需要了解调用的结果和状态,则需要调用服务的查询接口,主动地去轮询,结果的及时性取决于我们的轮询的频率。

Webhook工作原理

  • 为了及时通知,此时就产生了Webhook这种概念,其实就是为了更好地去通知调用的结果。在我们发出请求的时候,可以向服务器注册一个Webhook的地址,告诉服务器说,等调用结果一出来,第一时间通过这个Webhook地址通知我,我好处理接下来的步骤。

Webhook设计

  • 了解原理之后,就不难去设计了。
  • 基于原理,那么其实调用服务的双方都得有API,其实这在一定的程度上也增加了设计的复杂度和安全性。在设计过程中,需要注意以下3点:
    • 1、 对于调用方,需要设计一个api地址,供服务方进行调用
    • 2、对于服务方,需要设计一个通知机制,对订阅内容进行渠道的通知
    • 3、为了增强通讯的安全性以及稳定性,需要考虑API调用时的安全性,如增加token访问,验证等措施,同时为了保证每次的API能正确及时调用,需要对调用的结果进行判断和验证。

举例应用

  • 说了那么多理论,我们还是来看一个实际的案例吧,这样方便加深大家的理解。我们经常用的GitHub网站,他就提供了这种Webhook,所以我们利用他这个特性,可以随时更新我们的应用代码,实现线上应用自动更新。
    Webhook介绍和应用
  • 打开一个项目的设置,可以看到Webhooks的配置项。
  • 在下面可以选择我们哪种情况需要通知。

Webhook介绍和应用

  • 我们可以选择在push时,及向仓库提交代码时候,通过原先配置的Webhooks地址,重新去编译和构建我们的应用。至此我们就可以完成自动化部署。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-12
  • 2022-12-23
  • 2021-11-03
  • 2022-03-02
猜你喜欢
  • 2021-12-26
  • 2022-12-23
  • 2021-08-29
  • 2021-12-04
  • 2021-10-02
  • 2022-01-04
相关资源
相似解决方案