服务部署在K8s上会出现一定几率的假死状态,且有一定几率无法恢复
Closed this issue · 10 comments
biek12 commented
服务部署在K8s上会出现一定几率的假死状态,且有一定几率无法恢复
主要现象为:服务A请求到PandoraToApi后,PandoraToApi并未收到请求,服务A过一会儿抛出超时,这种情况有没有办法设置一下呢?
另外,服务跑起来内存可能无法回收,会越来越高
biek12 commented
biek12 commented
刚刚查到的这样的一句话:_在使用Docker容器运行Flask应用时,我们通常会使用gunicorn作为应用的WSGI服务器。然而,在某些情况下,我们可能会遇到一个问题:当我们在Docker中启动Flask应用时,应用会卡死,无法正常响应请求。
这个问题一般是由于gunicorn服务器的工作原理与Docker容器的运行机制不完全兼容所致。在默认情况下,gunicorn会使用多个进程来处理请求,但是由于Docker容器中进程的限制,这可能会导致进程间通信的问题,进而导致应用卡死。_
所以我在想能否增加设置变量的性质,在docker环境中设置单进程模式
Ink-Osier commented
主要是想控制开启的进程线程数量么,这个之前也有计划增加环境变量控制,等下个版本我加上去吧~
biek12 commented
是的,因为我查了一下,多进程模式下,Docker环境中gunicorn会出现假死超时,所以增加了这个想法
Ink-Osier commented
之前也有小伙伴在配置较差的服务器跑不起来项目的情况,就有计划了,不过后边在解决各种bug就搁置了
Ink-Osier commented
是的,因为我查了一下,多进程模式下,Docker环境中gunicorn会出现假死超时,所以增加了这个想法
可以,下个版本会加上的
biek12 commented
我看看我能不能提一个PR进来,你合并一下呢
Ink-Osier commented
如果你可以做成环境变量控制的话是可以的
Ink-Osier commented
暂时不想写死这两个参数
Ink-Osier commented
已合并pr并更新至最新版本,感谢大佬的贡献~