서비스 릴리즈 3주 만에 터진 첫 이슈!

이채은·2025년 1월 3일
1

트러블슈팅

목록 보기
1/1

현재 나와 팀원들은 약 1년간 꾸준히 진행해오던 프로젝트를 드디어 3주 전에 성공적으로 출시했다! (이렇게 보니 정말 오래 걸렸다 ㅎ.ㅎ) 출시 후 서비스 런칭 이벤트도 진행하며, 누적 유저 수가 300명을 넘기는 등 순조로운 운영을 이어가고 있었다.

그런데… 새해가 밝은 1월 1일, 릴리즈 이후 처음으로 꽤 심각한 이슈가 발생했다.


🛠️ 이슈 발생 상황

운영 서버와 별개로 테스트용으로 분리해둔 개발 서버에 새로운 글들이 올라오고 있는 것을 발견했다!
확인해보니 안드로이드 앱 업데이트 시 개발 서버의 URL로 API 요청이 가도록 설정되어 있었던 것이 원인이었다. 😱

이로 인해 12월 29일부터 1월 1일까지 총 23명의 유저가 개발 서버에서 회원가입 및 활동을 진행한 사실을 로그를 통해 확인했다.
게다가 문제를 더 심각해진건, 현재 서비스 런칭 기념으로 글 작성자 대상으로 경품 이벤트를 진행하고 있었다는 점이었다..


🚨 긴급 대응 과정

  1. 문제 해결
    즉시 클라이언트 API URL을 운영 서버로 복구하고 문제를 해결했다.

  2. 데이터 정리
    개발 서버의 데이터베이스를 확인해 유저들의 이메일을 확보한 후, 이메일로 사과와 재가입 요청을 드렸다.
    새로 가입한 유저를 식별하며, 그들이 개발 서버에 등록했던 글과 작품 등 활동 데이터를 운영 서버로 이전하고 있다.

어쨌든 큰 탈 없이 (?) 문제가 해결되는 듯 하고 있는데,
확실히 사람은 큰 일 나봐야 정신 차린다고 ....
백엔드쪽에 개선할 것이 많다고 느껴졌다.


💡 이번 이슈에서 느낀 개선점

1️⃣ 유저 가입 일시 미저장 문제

현재 서비스의 User 테이블에는 유저의 가입 일시를 저장하지 않고 있었다.
초기 설계 당시, "유저 가입 일시는 쓸 일이 없을 것 같다"는 판단 하에 제외했던 것인데, 이번 사건으로 그 판단이 얼마나 잘못되었는지를 뼈저리게 깨달았다.

왜냐하면 개발 서버 DB만으로는 12월 29일부터 가입한 유저를 정확히 식별할 방법이 없었기 때문이다.
결국 이를 계기로 유저 가입 일시를 저장하도록 데이터베이스 구조를 변경했다.

2️⃣ 신규 유저 모니터링 부족

이번 이슈에서 이 문제가 4일 동안 (12/29~1/1) 발견되지 않은 점이 특히 아쉬웠다. 신규 유저 가입 이벤트를 실시간으로 확인할 방법이 없었던 것이 문제였다.
그래서 신규 유저 가입 알림 기능을 디스코드 알람으로 구축하기로 했다.

🛠️ 알람 시스템 개편
기존의 디스코드 알람은 글 신고와 회원 탈퇴 관련 알람만 존재했고, 개발 서버와 운영 서버의 알람이 혼재되어 있었다.
이번 기회에 알람 시스템을 전면 개편했다!

  1. 서버별 알람 공간 분리
    운영 서버와 개발 서버 각각의 디스코드 채널을 별도로 설정.

  2. 이벤트별 알람 채널 분리
    신규 유저 가입, 글 신고, 회원 탈퇴 등 이벤트별 채널을 나눠 알람 발생.

  3. 웹훅 URL 자동화 설정
    CI/CD 과정에서 배포 서버에 따라 적합한 디스코드 웹훅 URL을 설정하도록 yml 파일을 활용해 자동화.

이로써 유저 가입 알람을 통해 신규 사용자 가입 추이를 실시간으로 확인할 수 있게 되었고, 이번과 같은 이슈가 발생하더라도 빠르게 대처할 수 있는 환경을 만들었다.


✨ 이번 경험의 교훈

처음 개발 서버에서 유저 데이터가 쌓이고 있는 걸 확인했을 때는 정말 머리가 하얘졌다.
하지만 결국 문제는 해결할 방법이 있다는 사실을 다시금 깨달았다.
이번 일을 계기로 서비스의 안정성과 관리 효율성을 한 단계 끌어올릴 수 있었고, 앞으로 더 나은 서비스를 위해 고민해야 할 점들도 명확히 알게 되었다.

서비스 운영에서 실수는 피할 수 없지만, 그 실수를 통해 배우고 성장하는 것이 진정한 발전이 아닐까? 💪

0개의 댓글

관련 채용 정보