背景 数据库
在业务开发中,咱们常会面对防止重复请求的问题。当服务端对于请求的响应涉及数据的修改,或状态的变动时,可能会形成极大的危害。重复请求的后果在交易系统、售后维权,以及支付系统中尤为严重。
前台操做的抖动,快速操做,网络通讯或者后端响应慢,都会增长后端重复处理的几率。 后端
重复消息是SOA服务实现中很是常见的问题,你永远不要期望调用方每次请求消息不同,对于读操做,重复消息可能无害,可对于写操做极可能就是灾难。 网络
能够经过幂等(Idempotent)模式处理重复的消息,基本处理思路是:幂等方案 分布式
对时间全局性要求高的,可能就必须选择DB这种持久化方案比较可靠,可是性能不够好啊(而后就要考虑loadmemory,以及数据同步的问题,就一步还要考虑实时性要求了)。在空间的要求中,根据不一样的幂等范围,能够考虑分布式数据库(分布式集群全局流水号幂等)。仍是某种少许数据幂等(可能只须要单台,作好主备)。 性能
数据的对象和范围
spa