Go底层原理与工程化实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 Go服务为什么没响应了

不知道你有没有遇到过这种情况:Go服务看起来正在运行,但是大量HTTP请求却没有任何响应,甚至查不到任何业务日志。我们通常称这一现象为Go服务假死。造成Go服务假死的原因有很多种,比如死锁。也就是说,请求处理协程抢占了一把已被其他协程占有并且永远不会释放的锁时,所有的请求处理协程都将被无限期阻塞,Go服务当然也就不会有任何响应了。本小节将为大家演示Go服务假死的现象,并且讲解如何排查Go服务假死问题。