MakeHybrid
预约通话
简体中文

幂等性

同一件事做两遍、结果只有一份的性质 — 它让重试和重复投递都变得无害。

一个操作,如果执行两遍之后留下的世界和执行一遍之后一样,它就是幂等的。删除文件是幂等的。发送消息不是,而绝大多数重复消息的毛病,就住在这份不对称里。

真正需要它的地方

怎样便宜地拿到它

留一张表记下你已经处理过的 id,在干活之前先带着唯一约束往里插。如果插入失败,说明有人已经处理过这一条了。整套技巧就这么多;它不需要任何库,而且能挺过中途重启,内存里的那种版本挺不过去。

要先插,不要后插。后插会在做这件事和记下你做过之间留出一个窗口,而恰恰是在那个窗口里的崩溃,才是这张表本来要兜住的情形。

拿什么当 id

发送方管这个事件叫什么就用什么,前提是它给了名字。如果没给,就用那些使这个事件成为这个事件的字段拼一把钥匙 — 比如账号、会话和消息 — 再取哈希。从时间戳推出来的钥匙不是钥匙:重投时它就变了。

幂等性不是在界面上去重。等到一条重复的消息出现在屏幕上时,第二条你早就发出去了。这道检查属于处理器的最顶上,在任何东西出门之前。

常见问题

AI 智能体会让重复更容易出现吗?

会。被问了两次的 AI 智能体可能发两次,超时后重试的智能体可能不知道第一次已经成功。在它的指令里给它一条规则 — 再次发送之前,先把对话读回来 — 并且让真人批准每一次发送。

项目房间里的“在 Google Ads 中应用”按钮是幂等的吗?

房间里的一个建议只运行一次。对它再按一次,什么都不会改变。

让它自己运转起来

说说你的业务是做什么的,它就成了你自己的服务和产品合二为一:工作自己运转,用的是你的名字、你的账号和你的 AI 密钥。前 30 天免费,这里的一切都不需要工程师。

开始试用