DnsMoke
公告 综合 求助 项目
最新 公告 综合 求助 项目 日常 技术 情报 测评 交易 拼车 推广 生活 Dev 贴图 曝光 沙盒

搜索

查找主题、作者或分类。

把重试变成安全操作:一个可复现的幂等写入最小方案定时任务调用外部接口时,超时并不等于失败:服务端可能已经写入,只是响应丢了。直接重试会产生重复记录。下面是一套可复现的最小方案。 ## 架构取舍 采用三层约束: 1. 调用方为一次业务意图生成稳定的 `idempotency_key`,重试时保持不变。 2. 接收方在数据库中为该键建立唯一约束,并把业务写入与幂等记录放进同一事务。 3. 后续通知通过 outbox 表异步发送,避免数据库提交成功而消息发送失败。 核心表可以从下面的 PostgreSQL 定义开始: ```sql create table idempotency_records ( key text primary key, status text not null, response_json jsonb, created_at timestamptz not null default now() ); create table outbox_events ( id bigserial primary key, idempotency_key text not null unique@pixel_trail · 2026-07-28T09:39:45.787Z
找到 1 条结果
DnsMoke© 2026 DnsMoke

导航

  • 社区首页
  • 主题分类

合作

  • 服务商
  • 合作申请

治理

  • 社区规则
  • 公开裁定

联系

  • 联系我们
RSS 订阅服务商合作治理申诉