자작곡 공유 커뮤니티
사용자가 만든 곡을 올리고 듣는 커뮤니티를 11년 동안 직접 운영하며 스택을 바꿔 온 서비스
사용자가 직접 만든 곡을 공유하는 커뮤니티입니다. 서버, 데이터베이스, API, 웹을 혼자 만들고 11년 동안 운영하면서 계속 고쳐 왔습니다.
한 일
- 초기 PHP·CodeIgniter·MySQL·jQuery 스택에서 React를 거쳐 Next.js(SSR)·Redux·TypeScript·Prisma로, 백엔드는 Node.js·GraphQL·MongoDB·pm2로 전환
- pm2 ecosystem과 GitHub Actions로 배포 자동화
- Redis 기반 메시지 큐로 업로드 대기열 처리
- 동시 접속 1,000명 규모 대응: php-apc 캐싱으로 DB 연결 최소화, MySQL Master-Slave로 읽기·쓰기 분리, DNS 라운드로빈 분산, Docker로 새 서버 구성 단순화
- 주기적인 Ping 테스트로 서버가 멈추면 Telegram으로 알림