我们的订单同步任务是增量拉取,每10分钟跑一次。为了避免漏单,每次拉取的时间窗口会和上一次有小幅重叠,比如上次拉到10:00,这次从9:58开始拉。但这样一来,重叠时间段内的订单会被重复拉取,导致同一笔订单在数据库里出现多条记录。目前我们的订单表没有对 order_id 做唯一约束,重复数据会干扰后续的发货和统计逻辑。想了解:第一,在增量同步场景下,幂等入库的标准做法是什么?第二,是不是必须在数据库层面对 order_id 加唯一索引,还是可以在应用层做判断?第三,如果是应用层判断,并发情况下怎么保证不会同时写入两条?第四,已经产生的重复数据怎么清理比较稳妥?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
https://developer.aliyun.com/article/1767363?spm=a2c6h.13148508.setting.14.158f4f0eYAa09U
可以参照小于科技api的示例方案进行同步抖店订单