Concurrency

  • Goroutine Worker Pool을 Semaphore로 바꾼 이유

    파일 저장 API 서버에서 업로드가 끝난 이미지를 후처리해야 했습니다. 원본을 디스크에 기록한 뒤 썸네일과 변환 이미지를 만드는 작업은 CPU 부하가 컸습니다. 요청에 따라 결과를 기다려야 할 때도 있었고, 응답과 무관하게 백그라운드에서 처리해야 할 때도 있었습니다. 처음에는 전형적인 Goroutine Worker Pool을 만들었습니다. 작업 채널에 Job을 넣고, 고정된…

    읽기 →