Spring Webflux + Sleuth Zipkin:重复请求的证据?
Spring Webflux + Sleuth Zipkin: Proof of duplicate requests?
关于使用 Spring Webflux + Sleuth Zipkin 服务器重复请求的小问题。
我有一个服务器,代码超级简单:
@PostMapping("/question")
public Mono<String> question() {
LOGGER.info("This has been called!");
return someService.getResponse();
}
每小时,我希望只有一个我认识的客户端调用此端点一次。
因此,每小时,我都会在我的日志中看到这个:
INFO [myservice,c3a25fb0fb7426b7,c3a25fb0fb7426b7] 10 --- [or-http-epoll-3] c.my.Controller : This has been called!
到目前为止一切顺利。
问题是有好几次,我确实在我的日志中看到:
INFO [myservice,5278cfd673fddc60,1582c3da8d01adaa] 10 --- [or-http-epoll-2] c.my.Controller : This has been called!
INFO [myservice,5278cfd673fddc60,c8a85b0275b6bfdd] 10 --- [or-http-epoll-3] c.my.Controller : This has been called!
很自然地,我假设我认识的唯一客户没有像预期的那样给我打电话一次,而是给我打了两次电话。
但是,客户端的日志显示只发出了一个 http 出站请求。
请问,看到相同的trace ID,但不同的Span ID就足以证明,至少有两次请求发送是确凿的证据吗?
[or-http-epoll-2] and [or-http-epoll-3]
也可以帮忙证明吗?
仅凭此处所写的信息,是否可以证明有关重复项的任何信息?
谢谢
您可以通过打开访问日志来证明这一点。
两个不同的日志事件具有相同的 traceID 并不能证明什么,它可能会发生:
- 客户给你打了两次电话
- 客户端给你打了一次电话,你又创建了一个span
- 客户给你打电话,另一个客户也给你打电话
你可以 enable access logs which can prove this or you can use a rq/rs log library (like logbook) 为你做这件事。我建议只启用访问日志。
关于使用 Spring Webflux + Sleuth Zipkin 服务器重复请求的小问题。
我有一个服务器,代码超级简单:
@PostMapping("/question")
public Mono<String> question() {
LOGGER.info("This has been called!");
return someService.getResponse();
}
每小时,我希望只有一个我认识的客户端调用此端点一次。
因此,每小时,我都会在我的日志中看到这个:
INFO [myservice,c3a25fb0fb7426b7,c3a25fb0fb7426b7] 10 --- [or-http-epoll-3] c.my.Controller : This has been called!
到目前为止一切顺利。
问题是有好几次,我确实在我的日志中看到:
INFO [myservice,5278cfd673fddc60,1582c3da8d01adaa] 10 --- [or-http-epoll-2] c.my.Controller : This has been called!
INFO [myservice,5278cfd673fddc60,c8a85b0275b6bfdd] 10 --- [or-http-epoll-3] c.my.Controller : This has been called!
很自然地,我假设我认识的唯一客户没有像预期的那样给我打电话一次,而是给我打了两次电话。
但是,客户端的日志显示只发出了一个 http 出站请求。
请问,看到相同的trace ID,但不同的Span ID就足以证明,至少有两次请求发送是确凿的证据吗?
[or-http-epoll-2] and [or-http-epoll-3]
也可以帮忙证明吗?
仅凭此处所写的信息,是否可以证明有关重复项的任何信息?
谢谢
您可以通过打开访问日志来证明这一点。 两个不同的日志事件具有相同的 traceID 并不能证明什么,它可能会发生:
- 客户给你打了两次电话
- 客户端给你打了一次电话,你又创建了一个span
- 客户给你打电话,另一个客户也给你打电话
你可以 enable access logs which can prove this or you can use a rq/rs log library (like logbook) 为你做这件事。我建议只启用访问日志。