buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

【不靠谱程序员】不靠谱程序员这样做幂等控制,你接受吗?

批处理定时任务的实现方式,不外乎下面这样。当然,在数据记录较多时,也会采用分页获取数据分批处理。

批处理程序顾名思义涉及到批量数据的处理,程序执行时间一般也比较长。anyway,对于这样的程序,技术上做好防重复请求是一项基本要求。

 

下面REST接口用来暴露给一个定时调度服务来调用。这个接口的业务逻辑是将系统里待付款的交易发往银行。做过支付的同学应该明白,这种程序是必须要做好防重控制的。

当然,你也看到了,这个REST接口并未做幂等控制。当追问编写这段代码的小伙时,他表示,在for循环里,已经用redis对单条做了防重复执行付款的控制,外面接口就无所谓了吧。

这种无所谓的态度,各位看官,你接受吗?

 

接口幂等性和业务防重复处理是两个事情,是程序防重复执行必须要考虑的两个因素。很多时候,我们要同时结合两者来使用,这就是所谓的双重检查。

附:插图素材来自processOn

posted on   buguge  阅读(38)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
历史上的今天:
2020-11-02 java.lang.reflect.Filed.class中setInt与set的区别
点击右上角即可分享
微信分享提示