Rabbitmq HTTP方法是Varnish中的清除幂等元吗?

Rabbitmq HTTP方法是Varnish中的清除幂等元吗?,rabbitmq,varnish,microservices,http-method,purge,Rabbitmq,Varnish,Microservices,Http Method,Purge,HTTP谓词是幂等的吗? 如果我两次发送相同的清除请求,我会第二次收到200吗 我有一个微服务,在将消息发布到兔子队列之前使Varnish缓存失效。如果清除失败,我们只需要记录并继续执行 队列使用者必须从Varnish缓存获取资源的最新状态。 如果第一个微服务的第一次清除成功,第二个微服务的新清除请求(在实际从varnish请求资源之前)是否会返回成功?清除不是标准的HTTP方法。它只是在Varnish VCL中配置的东西-通常采用这种方式或类似方式: if (req.method == "PU

HTTP谓词是幂等的吗? 如果我两次发送相同的清除请求,我会第二次收到200吗

我有一个微服务,在将消息发布到兔子队列之前使Varnish缓存失效。如果清除失败,我们只需要记录并继续执行

队列使用者必须从Varnish缓存获取资源的最新状态。
如果第一个微服务的第一次清除成功,第二个微服务的新清除请求(在实际从varnish请求资源之前)是否会返回成功?

清除不是标准的HTTP方法。它只是在Varnish VCL中配置的东西-通常采用这种方式或类似方式:

if (req.method == "PURGE") {
        if (!client.ip ~ purge) {
                return(synth(405,"Not allowed."));
        }
        return (purge);
}
(见:)

在资源(URL)上调用PURGE时,它将从缓存(Varnish)中删除,因此对于同一资源上的下一个GET请求,Varnish将调用后端并缓存其响应。然后,如果再次对此资源调用PURGE,它将再次从缓存中退出


是的,多文件清除请求返回200。

但是我将发送两次清除,同时不请求资源。我会收到两次200吗?@GaSacchi:为什么不试试看实际发生了什么?因为当我发布这个问题时,我没有访问那个环境的权限。正如您从我上面的评论和我的回答中所看到的,我后来确实尝试过……)想知道那是什么错误。。(它也是在第一次清除请求时返回的)