【转】分布式服务协调--幂等(Idempotent)机制
in 技术 with 0 comment

【转】分布式服务协调--幂等(Idempotent)机制

in 技术 with 0 comment

背景

在业务开发中,我们常会面对防止重复请求的问题。当服务端对于请求的响应涉及数据的修改,或状态的变更时,可能会造成极大的危害。重复请求的后果在交易系统、售后维权,以及支付系统中尤其严重。

前台操作的抖动,快速操作,网络通信或者后端响应慢,都会增加后端重复处理的概率。 重复消息是SOA服务实现中非常常见的问题,你永远不要指望调用方每次请求消息不一样,对于读操作,重复消息可能无害,可对于写操作很可能就是灾难。

可以通过幂等(Idempotent)模式处理重复的消息,基本处理思路是:

幂等方案

对时间全局性要求高的,可能就必须选择DB这种持久化方案比较可靠,但是性能不够好啊(然后就要考虑loadmemory,以及数据同步的问题,就一步还要考虑实时性要求了)。在空间的要求中,根据不同的幂等范围,可以考虑分布式数据库(分布式集群全局流水号幂等)。还是某种少量数据幂等(可能只需要单台,做好主备)。

数据的对象和范围

特别鸣谢 @李景枫 本文摘录自 分布式服务协调--幂等(Idempotent)机制

Comments are closed.