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

ywdhzxf · · 3669 次点击
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
更多评论
polaris
社区,需要你我一同完善!
没法全局,只能每个 gorouitne 自己 recover 自己。
#1
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2