前言
上一篇文章中完善了一个自定义协程池,正所谓不改就没事,哈哈,果然上周测试环境发版后就出问题了,本人的服务的健康检查一发新版本之后就会立马unhealthy,然后先是观察容器cpu负载竟然是100%,好家伙,登陆容器通过top命令确定了就是自己的服务导致的,然后检查了自己修改过的代码,经过半天的排查果然找到了这个病因。
代码展示(问题代码部分)
1 | //运行一个groutine 开始消费任务 核心的问题就出在了下面这个方法内 |
总结
好在是在测试环境发布时发现了这样的问题,如果是线上出现该问题还是比较麻烦的,总结就是对select的一些用法还是不够熟悉,下一篇文章就来对golang中的select用法进行一下总结(点此处了解select用法总结)。