我们的项目用的iris框架, 在接口里面开启go程后如果go程 panic 了, 则整个服务都会挂掉, 能不能写一个全局的 recover来监听go程的 panic
1你让人不回复就步回复,你当你是谁?
2.当然需要recover,为什么redis连接不上就必须panic?你的程序是只连接一个数据库/redi/一个功能的?
3.panic直接打印?不需要处理和输出各种环境信息了?释放什么?多了。比如数据库锁,比如其他的需要手动释放的信息。
4.panic大部分是代码里手工调用的,管硬件什么事?
5?Loadbalance?说什么笑话,正常需要panic的代码,哪个不是会让整个loadbalance都相关部分都会panic的?重启能解决问题?对不起,我还真写不出这么奇葩的代码。
“出现了panic, 就算recover了,程序也会变得不稳定”
来,我常见的会触发的panic的代码,看看那些你的lb能解决的?
1.数据库/redis/ldap挂了
2.第三方接口数据挂了/线路问题/调用api频率超过限制
3.部分用户的数据错误,无法反序列化/映射。
#29
更多评论
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2