分布式幂等问题解决方案三部曲
纲要
文章目的:本文旨在提炼一套分布式幂等问题的思考框架,而非解决某个具体的分布式幂等问题。在这个框架体系内,会有一些方案举例说明。
文章目标:希望读者能通过这套思考框架设计出符合自己业务的完备的幂等解决方案。
文章内容:
(1)背景介绍,为什么会有幂等。
(2)什么是幂等,这个定义非常重要,决定了整个思考框架。
(3)解决幂等问题的三部曲,也是作者的思考框架。
(4)总结
一 背景
分布式系统由众多微服务组成,微服务之间必然存在大量的网络调用。下图是一个服务间调用异常的例子,用户提交订单之后,请求到A服务,A服务落单之后,开始调用B服务,但是在A调用B的过程中,存在很多不确定性,例如B服务执行超时了,RPC直接返回A请求超时了,然后A返回给用户一些错误提示,但实际情况是B有可能执行是成功的,只是执行时间过长而已。
用户看到错误提示之后,往往会选择
