Go 프로덕션 환경에서 발생한 고루틴 누수(Goroutine Leak) 해결 및 동시성 최적화
지난달, 트래픽이 급증한 마이크로서비스 중 하나가 주기적으로 OOM(Out of Memory)으로 인해 파드가 재시작되는 현상을 겪었다. pprof 를 통해 힙 메모리와 고루틴 스택을 분석한 결과, 범인은 명확했다. 수만 개의 고루틴이 종료되지 못한 채 runtime.gopark 상태에 머물러 있었다. 이는 전형적인 고루틴 누수(Goroutine L…