幂等接收器

通过唯一标识来自客户端的请求,以便在客户端重试时忽略重复请求

问题

客户端向服务器发送请求,但可能无法收到响应。客户端无法知道响应是否丢失或服务器在处理请求之前崩溃。为了确保其请求得到处理,客户端必须重新发送请求。

如果服务器已经处理了请求并在之后崩溃,服务器将在客户端重试时收到重复的请求。

解决方案

通过为每个客户端分配一个唯一的 ID 来唯一标识客户端。

当服务器收到请求时,它会检查来自同一客户端的具有给定请求号的请求是否已处理。如果找到已保存的响应,它会将相同的响应返回给客户端,而无需再次处理请求。

有关更多详细信息,请访问 第 15 章,该章位于 oreilly.com 上的在线电子书中。

此模式是 分布式系统模式 的一部分

2023 年 11 月 23 日