求大神指教, 如何写一个全局recover,保证服务不会因为go程里面的panic整个挂掉

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