幂等的英文名称是idempotent或idempotence
幂等的数学表述为f(f(x)) = f(x)
幂等的文字表述为任意多次执行所产生的影响均与一次执行的影响相同
幂等的一般实现方法唯一交易号,唯一交易号又称为流水号
幂等的词源分析:幂表示经过一次或多次操作或运算的结果,等就是相等了,从字面上理解就是无论多少次幂都是相等的。
幂等的代码实现:也就是一个流水,只能做一次取款操作,就定了这么一个逻辑而已。
1.client call create_ticket() in server.
2.create_ticket() return ticket_id to client and keep ticket_id in client
3.client get ticket_id from server and pass it into withdraw(ticket_id,account_id,amount);
4.withdraw() check if ticket_id is existed in server before. if not, perform withdraw operation then replace the old ticket_id with the new one. otherwise do nothing in server