안녕하세요.
담당 매니저 김수민입니다.
기간제(상주) 프로젝트 희망 근무 시작일을
등록해 주시면, 파트너님의 일정에 맞는
적합한 프로젝트를 추천해 드려요.
플러스
라이브스트리밍 플랫폼 Node.js 백엔드 — Redis 캐시·N+1 최적화 (6.3개월, 376 커밋)
개발
SaaSㆍ솔루션, 데이터 분석ㆍBI, 기타
프로젝트 배경
1) 문제점 - 채널 1.8M rows 환경에서 라이브 메인 응답이 채널당 1+N 쿼리 발생 → 트래픽 급증 시 DB 부하 심각 - 캐시 만료 직후 동시 요청이 모두 DB로 쏟아지는 thundering herd - 대시보드가 4개 endpoint 별도 호출 + 7쿼리 실시간 집계로 응답 느림 - 월배치 명예의 전당 집계가 애플리케이션 N회 쿼리로 처리 2) 프로젝트 목표 - 라이브 메인 응답 쿼
프로젝트 성과
DB 쿼리 횟수 96% 감소
라이브 메인 51쿼리 → 2쿼리, cache hit 시 Redis HMGET 1회. 50채널 기준.
대시보드 메트릭 7쿼리 → 2쿼리 (71% 감소)
MemberMetricsTotal 단일 집계 테이블 + Subscription count 1쿼리
API 호출 4회 → 1회 (BFF 통합)
metrics·level·signatures·tendency 4 endpoint → /dashboard/ 통합 응답
코드 -444 라인 (대시보드 + 라우터 누적)
캐시 분기·forceRefresh 옵션 등 불필요한 분기 제거
thundering herd 차단
SET NX PX 8000ms single-writer + Lua own-lock 해제로 캐시 만료 시 DB 부하 분산
핵심 기능
Cache Stampede Lock (SET NX + Lua 안전 해제)
캐시 만료 직후 동시 요청→DB 부하(Thundering Herd) 차단. SET NX PX 8s 단일 writer 선출, 비-리더 150ms 재조회. Lua own-lock 안전 해제.
진행 단계
측정·프로파일링
2025.11.
N+1 발생 지점 확인, 쿼리 횟수 51개 측정
프로젝트 상세
라이브스트리밍 플랫폼의 Node.js 백엔드 작업을 6.3개월간 376 커밋으로 진행했습니다. 모든 작업을 측정 가능한 단위로 남기는 편이라, PR 본문·README 에 before/after 수치를 항상 명시했습니다. 주요 성과: 1) 라이브 스트림 목록 N+1 → 캐시 (3-phase 점진 개선) - v1: N+1 제거 — whereIn batch + Map 으로 per-channel O(N)

비슷한 프로젝트를 준비 중이라면?
위시켓 매니저와 상담하세요.

참여 개발사와 미팅 연결

프로젝트 1:1 컨설팅 제공

무료로 프로젝트 등록하기

작업한 파트너 프로필 보기

yd******
개발 · 개인

프로젝트 정보

참여 기간
2025.11. ~ 2026.04.
참여율
참여율이 100%인 프로젝트는 해당 파트너님이 온전히 작업한 결과물입니다.
외부 공동 작업의 경우 기여도에 따라 참여율이 달라지며 역할, 프로젝트 설명을 통해 업무 분야 및 참여 범위를 확인할 수 있습니다.
100%
고객사
미디어/스트리밍 플랫폼
역할
백엔드 개발자
관련 기술
Koa
Objection
Node.js
Redis
MySQL
GitHub