我们的项目用的iris框架, 在接口里面开启go程后如果go程 panic 了, 则整个服务都会挂掉, 能不能写一个全局的 recover来监听go程的 panic
某处panic不应该让程序退出,比如web server,同时有数千个请求在处理,其中一个请求导致了panic,其他的请求代码都是正常的不会导致panic,如果这时候整个程序退出了,就会大量的正常请求被异常并转发到其他服务器,而再多的节点,如果代码有bug,都会触发这个panic,那么可能你们先上所有服务节点都退出了,然后因为这单个的panic,导致所有服务不可用
除了初始化阶段的依赖项失败,比如数据库连接失败,可以panic或者fatal让进程退出,其他时候,在进程正常启动之后不应该因为单个panic导致进程退出
#7
更多评论
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2