我们的项目用的iris框架, 在接口里面开启go程后如果go程 panic 了, 则整个服务都会挂掉, 能不能写一个全局的 recover来监听go程的 panic
1.呵呵,你有?
2.loadbalance是可以用来解决服务器的高可用性的?你别逗我。loadbalance只是负载均衡而已,和可用性有什么关系?要提可用性,至少是etcd/zookeeper这种系统吧?
3.close 服务的退出信号chan,让所有select了退出chan的线程走退出部分的代码……这么基本的东西还需要问?
在没贴你自己的代码前,哪来的脸让我贴我的?
4..因为我用panic是为了挂起当期的go协程。什么当前的go协程除了不可恢复的问题要影响到整个进程?这本身才是最优雅的方案。怎么成了层层返回err 优雅了?全世界都在嘲笑的不优雅的err倒你这倒成优雅了?你层层return回去整个strack都成什么样了?这log信息还有用?
哦,对了。你根本不正经打印log信息的。
5.请不要自行定义panic的功能,go标准库中的代码我都给出来了。
再回到我打日志的问题
正常做法,哪怕是初始化阶段panic,难道不是recover接收把错误和相关上下文打日志后再Exit(1)?
打日志不是为了让日志监控程序能及时通知相关负责人员?
#33
更多评论
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2