Webhook——实时同步/响应方案

发布时间 2023-08-24 18:37:17作者: ashet

webhook直译就是——网络钩子,该如何理解webhook呢?

可以从银行卡余额入手:

当账户没有开通短信提醒功能时,用户想知道账户余额时,就必须主动查询,才能实时获取当前真实余额。

当账户开通了短信提醒功能,每次余额的变更,银行会主动发短信,实时发送当前真实余额给用户。

用户银行就是两个系统,彼此通过短信提醒这种方式实现数据实时同步,就是现实世界中的webhook

行为:用户主动查询 ----> 银行主动通知

结果:余额延迟同步 ----> 余额实时同步

方案:短信提醒


对于两个system而言,A系统拥有数据源,B系统需要实时同步该数据。

那么就不能由B来调用A系统的api,而是由A调用B的api。

由B提供一个接口,A知道数据源何时创建、修改、删除,并通过api实时通知到B系统,即可满足实时同步/响应效果。

很多系统之间通过定时任务的方式同步数据,不仅消耗了多余的资源,也无法满足实时同步的效果。

当然,实现webhook需要一定条件,比如A系统是亚马逊公司,B系统无法随便让亚马逊来调自己的api来实时同步B系统要获取的数据。