【问题标题】:How to call an external API exactly once?如何只调用一次外部 API?
【发布时间】:2022-01-11 03:44:45
【问题描述】:

假设我们有一个工人负责发送付款。

我们的工作人员在决定要汇款后,调用外部支付服务 API。

外部支付服务 API 无法让我们的工作人员具有幂等性。

如何保证我们的工人只处理一次?

一种可能的解决方案是接受无法保证准确一次,因此我们转向至多一次的方法,并实施一项 cron 作业以定期检查需要发送的付款(可能需要人工人工审核)。

在外部 API 不提供幂等性机制的世界中,支付一般如何处理这类事情?

【问题讨论】:

  • 在我看来,要对您的问题做出体面的回答,需要您的技术堆栈的其余部分的具体细节。

标签: message-queue worker idempotent


【解决方案1】:

如果外部 API 不提供幂等 API,则无法保证完全一次。如果 API 提供了一种方法来检查操作是否成功,那么您可以使用它来决定是否需要重试。

【讨论】:

    猜你喜欢
    • 2021-01-31
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多