경험 중심 — Python FastAPI로 시작했다가 Go로 마이그레이션한 경험
졸업 프로젝트에서 처음에는 익숙한 Python FastAPI로 API 서버를 만들었습니다. 기능 구현은 빠르게 진행되었으나, 동시 요청 100개가 넘어가면 레이턴시가 급격히 늘어나는 문제가 발생했습니다.
원인을 분석해보니 GIL 때문에 CPU 바운드 작업이 병렬로 실행되지 않고 있었습니다. 그래서 고민 끝에 Go로 핵심 엔드포인트 2개를 다시 작성하였고, 같은 부하에서 p95 레이턴시가 300ms에서 60ms로 줄어들었습니다.
그러나 Go로 옮기면서 에러 처리 패턴이 낯설어서 nil 포인터 패닉이 두 번 발생하였습니다. 팀원들도 Go 경험이 없어서 코드 리뷰가 제대로 이루어지지 않은 점이 문제였습니다. 이 경험을 통해 언어 전환은 성능뿐만 아니라 팀 전체의 학습 비용도 함께 고려해야 한다는 것을 배웠습니다.