Enraged-Dun-Cookie-Development-Team / Dun-Cookie-Vue

小刻食堂插件端:自由的兔兔把烙好的饼到处藏,就由小刻把它们都找出来吧!定时收集多端的数据源,包括微博,通讯组,官网,B站等等。
https://www.ceobecanteen.top/
GNU General Public License v3.0
553 stars 16 forks source link

无差别 QueryParam `t` 可导致第三方站点 CDN 缓存击穿(企鹅物流受部分影响) #40

Closed GalvinGao closed 2 years ago

GalvinGao commented 2 years ago

https://github.com/Enraged-Dun-Cookie-Development-Team/Dun-Cookie-Vue/blob/3f4d8b13cf8787b602185260f262bef863cb5c5d/src/common/util/HttpUtil.js#L6

小刻食堂此处使用的无差别加入当前时间戳强制绕过 CDN Cache 会导致大量请求直接打到企鹅物流源站,且考虑到小刻食堂这边是轮询机制,这样的机制会造成较为严重的带宽与计算资源耗尽。(并且没钱买 CDN 的高级方案于是没有 QueryParams 过滤 awa)

建议对于企鹅物流数据统计,去除等于当前时间戳的 t QueryParam:这边拉取的 /api/items, /api/stages/api/v2/zones 更新速度均非常缓慢(频率与鹰角开活动一致,约 15-30d 一次更新),因此没有必要高频且忽略缓存请求。

另外,注意到使用的 API 是已于 2020.6 左右就已 Deprecate 的 V1 API,近期的迭代将移除 V1 API 支持,还请尽快迁移至 V2 API /api/v2/items, /api/v2/stages(这两个 API 的改动很小、应该稍加测试即可直接使用 V2 API)。具体的 API 文档还请参阅:

phidiaLam commented 2 years ago

不好意思,我们会在立刻取消企鹅物流获取的tQueryParam并尽快发布新版本以供用户更换至新版本。

https://github.com/Enraged-Dun-Cookie-Development-Team/Dun-Cookie-Vue/blob/82162419123800e57999b0bf4e8ff0929d491ec0/src/background/index.js#L330-L334 不过我们这边并没有进行轮询企鹅物流,这里是在开启电脑后,插件自动启动的时候获取一次关于关卡,资源等信息。

https://github.com/Enraged-Dun-Cookie-Development-Team/Dun-Cookie-Vue/blob/82162419123800e57999b0bf4e8ff0929d491ec0/src/components/Search.vue#L190-L192 用户在选择材料进行查看的时候获取材料具体掉率。并且将这个掉率存储下来,如果电脑没用关机,下次打开这个材料的时候不会再对接口进行请求,会直接获取本地存取的材料掉率。

非常感谢提醒我们对于接口版本的移除,这边也会进行迭代和测试,谢谢

GalvinGao commented 2 years ago

不好意思,我们会在立刻取消企鹅物流获取的tQueryParam并尽快发布新版本以供用户更换至新版本。

感谢回复~ 昨晚又细查了下影响情况,比我们以为的好一些x 没有那么严重,这边的请求数大概占据全天请求量的 0.5%-1% 所以问题不是很大,不好意思昨天晚上有点急用词可能有点过重x

不过我们这边并没有进行轮询企鹅物流,这里是在开启电脑后,插件自动启动的时候获取一次关于关卡,资源等信息。用户在选择材料进行查看的时候获取材料具体掉率。并且将这个掉率存储下来,如果电脑没用关机,下次打开这个材料的时候不会再对接口进行请求,会直接获取本地存取的材料掉率。

哦哦这样 那应该问题更不大惹x

非常感谢提醒我们对于接口版本的移除,这边也会进行迭代和测试,谢谢

嗯嗯~ 不谢

phidiaLam commented 2 years ago

不好意思昨天晚上有点急用词可能有点过重

没有的是,用爱发电的项目能公开接口给大家使用就已经很好了,应该是我们特别感谢你们企鹅物流的贡献

不过既然有占据到0.5%-1%,我这边还是改成去掉t吧,这样子对你们也会好点,好像也没有必要去绕过缓存

phidiaLam commented 2 years ago

已在这个commit进行更改 82162419123800e57999b0bf4e8ff0929d491ec0

phidiaLam commented 2 years ago

全平台(edge,火狐,chrome)已发布并过审V3.1.0,包含此问题的修复