幂等接收器

识别客户端的请求,以便在客户端重试时忽略重复的请求

问题

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

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

解决方案

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

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

欲了解更多详细信息,请前往在线电子书的第15章,位于oreilly.com上。

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

2023年11月23日