Open ZeaKyX opened 2 years ago
参考 B站“崩溃”始末 2021.07.13 我们是这样崩的,
多活SLB在故障时因CDN流量回源重试和用户重试,流量突增4倍以上,连接数突增100倍到1000W级别,导致这组SLB过载。
web服务端不堪重负时, 用户端不断地无意义或者恶意重试只会不断加剧服务端的负载, 所以框架才会在任务设置失败n次后自动禁用。
这里就有一个问题, 签到框架本身既是服务端(为用户提供模板保存、 api服务和任务调度), 也是客户端(执行任务时向http服务端发送请求), 面对您所提供的 feature 方案,有这么几个疑问:
ping
不通容器外网本身不是框架本身存在的问题, 而是管理员采用不适当的配置部署了容器、或者外网环境发生了变动, 这时候应该先排查这些问题, 而不是简单地考虑让框架忽略这次网络错误跳过签到
如果设置 ping
, ping
什么? ping
设置的模板网址么, 那可以考虑一下, 但这样的话会不会造成不必要的时间和资源浪费?
设置 重试时长 和 不限制重试次数 的功能, 框架中是包含的
@a76yyyy 确实没有考虑到服务在大流量情况下的占用问题,抱歉。我想了一下,主要是这样考虑
Verify steps
Describe the Feature
现在多次失败自动停用功能可以保障安全,在问题是由模板或网站本身引起的情况下。 但像 Issue #101 里有提到签到大部分失败情况是因为网络问题,这个时候我不想停用。
Describe the solution
希望添加在签到前检测基本的网络通讯,比如说简单的 ping 。 例如这个项目中的 https://github.com/tty228/luci-app-serverchan/blob/master/root/usr/bin/serverchan/serverchan#L593 然后如果结果失败,则跳过此次签到,或提供另外设置重试时长的选项。
Describe alternatives
No response
Additional context
No response