Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 为什么要实现非幂等运算?_Asp.net Web Api_Distributed System_Idempotent - Fatal编程技术网

Asp.net web api 为什么要实现非幂等运算?

Asp.net web api 为什么要实现非幂等运算?,asp.net-web-api,distributed-system,idempotent,Asp.net Web Api,Distributed System,Idempotent,在构建WEB API时,有时我们有自然幂等操作(如删除给定资源),有时没有(如用卡支付) 但是,您可以始终使用随机数作为事务ID,以防止它发生多次(例如,请参见stripe的幂等键:) 这有什么坏处吗?为什么不一直这样做,永远放弃非幂等性呢?这对于每个API设计师来说都是一个非常好的问题。我认为不利的一面是双方都需要付出额外的努力来实施它。因此,很少发生故障的系统或在发生故障或重复操作时不太关键的系统可以在没有幂等性的情况下开发。记住雅格尼原则,只开发真正需要的东西。询问您的产品或业务专家,了解

在构建WEB API时,有时我们有自然幂等操作(如删除给定资源),有时没有(如用卡支付)

但是,您可以始终使用随机数作为事务ID,以防止它发生多次(例如,请参见stripe的幂等键:)


这有什么坏处吗?为什么不一直这样做,永远放弃非幂等性呢?

这对于每个API设计师来说都是一个非常好的问题。我认为不利的一面是双方都需要付出额外的努力来实施它。因此,很少发生故障的系统或在发生故障或重复操作时不太关键的系统可以在没有幂等性的情况下开发。记住雅格尼原则,只开发真正需要的东西。询问您的产品或业务专家,了解重复操作的故障率和容忍度

希望这有帮助