캡스톤에서 이벤트 기반으로 알림 파이프라인 구현 — 메시지 큐 첫 경험
캡스톤 프로젝트에서 사용자가 회원가입하면 웰컴 메일을 보내는 기능을 만들 때, 처음엔 HTTP 요청 흐름 안에서 메일 발송을 바로 처리했는데 메일 서버가 느리면 API 응답도 같이 느려지는 문제가 생겼습니다. 그래서 회원가입 완료 이벤트를 큐에 넣고, 별도 워커가 메일을 보내도록 분리했습니다. 처음 구현할 때 큐가 차는 속도보다 워커가 느려서 메일이 수분 뒤에 도착하는 현상이 있었고, 워커 수를 늘리기 전에 병목 원인을 먼저 확인했어야 했는데 그냥 늘렸다가 서버 리소스를 과하게 잡은 게 실패였습니다. 이후로 워커 처리량과 큐 적재 속도를 같이 보는 습관을 들였습니다. 이벤트 기반이 처음이라 간단한 예제였지만, 처리를 분리하면 각 부분을 독립적으로 조정할 수 있다는 걸 직접 경험했습니다.