为什么我们关心分布式系统中的幂等元素

时间:2018-02-27 04:03:03

标签: rest asp.net-web-api distributed-system

我对RESTful API有疑问 - 为什么我们关心分布式系统中的幂等元素。你能告诉我吗

2 个答案:

答案 0 :(得分:2)

如果您可以多次进行同一次呼叫并且产生相同的最终结果,则服务是幂等的。

在分布式系统中,当您调用某个服务/ API时,该服务可能会失败(或者更糟糕的是,它可能会超时,甚至不会向您发送失败响应)。在这种情况下,如果服务是幂等的,你可以简单地再次调用它(任意次数),而不必担心多次调用它会产生不利影响。

如果服务不是幂等的,你不能再简单地调用它。您必须首先检查上一次调用所采取的操作,然后根据该操作进行操作。

答案 1 :(得分:0)

在分布式系统中,幂等特别重要(也就是要关心的事情)。通常,分布式系统包括大量的部件/组件,其中许多部件/组件将在一个组件开发人员之间彼此控制之外。

Benefits include:
 * improved thread safety
 * minimize complexity
 * easier to document (thus consume)
 * easier to test
 * data and state integrity will generally be easier to manage

如果您不知道调用者代码是否可能在您的某个接口上发送垃圾邮件而传统上可能会将系统置于错误状态,那么利用纯/幂等功能尤其有用。此外,它使消费者文档更易于理解,并最大限度地减少了环境带来的一些固有的复杂性,这些环境本质上不保证是线程安全的。

如果您需要其他或更具体的用例或示例,说明分布式系统应该关注幂等性作为其体系结构的一部分,请让我/我们知道。

欢呼