• 每日一博 - WebHook vs Polling


    文章目录

    在这里插入图片描述


    概述

    下面的图表显示了轮询和Webhook之间的比较。

    假设我们运行一个电子商务网站。客户通过API网关将订单发送到订单服务,然后订单服务将订单传递给支付服务进行支付交易。支付服务然后与外部支付服务提供商(PSP)通信,以完成交易。

    处理与外部PSP的通信有两种方法。

    🔹 1. 短轮询

    在向PSP发送付款请求后,支付服务会不断地询问PSP付款状态。经过多轮后,PSP最终返回状态。

    短轮询有两个缺点:

    1. 不断轮询状态需要支付服务的资源。
    2. 外部服务直接与支付服务通信,存在安全漏洞。

    🔹 2. Webhook

    我们可以向外部服务注册一个Webhook。这意味着:当您有关于请求的更新时,请在特定的URL上回调给我。当PSP完成处理时,它将调用HTTP请求以更新支付状态。

    通过这种方式,编程范式发生了变化,支付服务不再需要浪费资源来轮询支付状态。

    如果PSP从未回调怎么办?我们可以设置一个每小时检查支付状态的定期任务。


    Webhook通常被称为反向API或推送API,因为服务器会向客户端发送HTTP请求。在使用Webhook时,我们需要注意以下三点:

      1. 我们需要为外部服务设计一个适当的API供其调用。
      1. 由于安全原因,我们需要在API网关中设置适当的规则。
      1. 我们需要在外部服务中注册正确的URL。

    图解

    在这里插入图片描述

  • 相关阅读:
    (02)vite环境变量配置
    Java进阶(十二)多线程
    Oracle SQL性能分析SPA实施
    我出了道面试题,然后差点被打了
    Biotin-Sulfo-DBCO
    Type-C接口相关知识
    社交网络中的身份和搜索 论文阅读
    MindSpore:model.train中的dataset_sink_mode该如何理解?
    charles抓包
    【CANN训练营】UART、SPI、I2C串口通信介绍笔记
  • 原文地址:https://blog.csdn.net/yangshangwei/article/details/132861237