ENGINEERING NOTE 18 / 50 · SMS

接码熔断如何避免重复购买

OPEN RAMBO ·

熔断应阻止新的高风险调用,同时保留旧订单核对能力。不能把每次超时都变成向其他地方重新购买。

本文由 OPEN RAMBO 发布。工程方案和伪代码用于说明设计,不是现有产品 API 文档;示例数字均为演示。

统计相关失败

区分网络超时、上游不可用与用户输入错误。大量无效服务选择不应把健康上游标成故障。按操作统计,目录读取和资金写入后果不同。

保留未知结果

分配超时可能是上游已建单但响应丢失。该尝试进入核对。熔断阻止更多购买,但不能未查是否已分配就释放预留。

用低影响读取探测恢复

有文档支持时用只读健康或目录操作探测恢复,不为测试熔断恢复而购买号码。逐步恢复,并观察恢复后成熟订单结果。

示意流程

if circuit.open:
    reject_new_allocations()
    allow_existing_order_reconciliation()
# Unknown outcomes are never retried as new purchases.

如何验收

模拟上游已创建后的超时,下一步必须查询该尝试,不自动分配替代号码。

延伸阅读

继续阅读