最近有个很不能理解的 bug

2022-08-18 12:56:49 +08:00
 leipengcheng
在浏览器发请求 /log/10
10~15 分钟后
这个请求会再次出现
@GetMapping("/log/{msg}")
public AjaxResult log(@PathVariable String msg) {
log.info(msg + new Date());
return AjaxResult.success(msg + " " + new Date());
}

[测试开始]( )

[大约十分钟后]( )

用 postman 测,也是这样。
不知道是哪里的问题
1325 次点击
所在节点   科技
7 条回复
picone
2022-08-18 13:00:21 +08:00
是有序地拉起 10 个线程循环请求?因为每个请求处理的时间不一样,在累积多次后会放大误差
leipengcheng
2022-08-18 13:08:30 +08:00
@picone 没用线程,就手动在浏览器发的请求。大约 10 分钟后,请求会再次出现。这个问题已经困扰了我好几个月了,我现在写了个缓存,去除重复请求,可以勉强解决。但还是想知道可能的原因
xaplux
2022-08-18 13:13:30 +08:00
什么意思?没看懂,发起请求后,过十分钟会自动发起请求?
virusdefender
2022-08-18 13:36:15 +08:00
打印 ip 和 ua 看看
leipengcheng
2022-08-18 13:38:59 +08:00
@xaplux 对的,我之前部署其他服务也会这样
mxT52CRuqR6o5
2022-08-18 14:43:40 +08:00
难道是云服务提供商想看看你这个接口上到底有些啥?
leipengcheng
2022-08-18 16:06:31 +08:00
我又买了一个云服务器,测试没有问题
然后我去重启了一下旧的服务器,还是不行
也排除了 docker 的原因
最终,我选择了一个勉强能用的方案:过滤掉 ip=云服务器 ip 的请求
感谢 网友 @virusdefender 给的建议,打印 ip ,不然我还发现不了这个问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/873716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX