DB 복합 인덱스 최적화, Redis 다층 캐싱 전략, Kafka 이벤트 드리븐 리팩터링, 카오스 엔지니어링 — 매일 수천만 건 금융 트랜잭션을 책임질 수 있음을 증명한 합격자의 전략
C.H.(ANON, 컴퓨터공학, 26세)는 사이드 프로젝트와 인턴십 경험에서 고트래픽 금융 API 시스템을 직접 설계하고 성능을 최적화한 경험을 자소서에 담았습니다. MySQL Aurora DB에서 복합 인덱스 재설계(N+1 쿼리 제거, 풀 테이블 스캔 → 인덱스 스캔 전환)로 P99 레이턴시를 380ms에서 42ms로 89% 단축했습니다. 또한 Redis Cluster를 활용한 다층 캐싱 전략(L1 로컬 캐시 Caffeine + L2 Redis)을 도입해 DB 부하를 68% 감소시키고 TPS를 1,200에서 4,560으로 3.8배 향상시켰습니다. MSA 전환 과정에서 서킷 브레이커(Resilience4j)와 Kafka 이벤트 드리븐 아키텍처를 도입해 단일 서비스 장애가 전체 시스템에 전파되지 않도록 격리하고, 결과적으로 API 가용성 99.97%를 달성했습니다. 토스가 요구하는 '금융 트랜잭션 처리를 직접 책임질 수 있는 엔지니어'임을 수치로 증명한 전략이 합격의 핵심이었습니다.
C.H.의 초안은 사용한 기술 스택을 나열하는 수준에 그쳤습니다. 합격본에서는 시스템 설계 결정과 그에 따른 성능 변화를 수치로 연결하고, 토스 금융 시스템의 구체적 요구사항과 대응시켰습니다.
토스 SW System Developer 직무 역량을 5개 항목으로 정밀 평가한 결과입니다. 각 항목은 토스 금융 시스템이 요구하는 엔지니어링 기준을 반영합니다.
토스가 원하는 시스템 개발자는 기술 스택을 아는 사람이 아니라, 수천만 건 금융 트랜잭션 앞에서 시스템이 무너지지 않도록 설계하고 검증하는 엔지니어입니다. C.H.는 3가지 전략으로 이 차별화를 만들었습니다.
C.H.가 자소서에 담은 성능 최적화 수치입니다. 각 개선 결과는 k6 부하 테스트 및 Prometheus/Grafana 모니터링으로 검증된 수치이며, 이를 근거 있는 숫자로 제시한 것이 차별화 포인트였습니다.
| 시스템 지표 | 최적화 전 | 최적화 후 | 적용 기법 |
|---|---|---|---|
| P99 레이턴시 (결제 내역 조회 API) | 380ms | 42ms | 복합 인덱스 재설계 + N+1 제거 |
| TPS (초당 트랜잭션 처리량) | 1,200 TPS | 4,560 TPS | 다층 캐싱 (L1 Caffeine + L2 Redis) |
| DB 요청 비율 감소 | 전체 요청 100% | 전체 요청 32% | 캐시 히트율 68% 달성 |
| API 가용성 (SLA) | 99.2% | 99.97% | 서킷 브레이커 + 카오스 엔지니어링 검증 |
| 서비스 간 장애 전파 | 전체 시스템 다운 | 격리 성공 (폴백 응답) | Resilience4j 서킷 브레이커 |
| 이벤트 처리 지연 (결제 완료 알림) | 동기 처리 2.3초 | 비동기 0.15초 | Kafka 이벤트 드리븐 전환 |
| P95 레이턴시 (잔액 조회) | 220ms | 18ms | L1 로컬 캐시(TTL 5초) 도입 |
단순한 기술 스택 나열이 아닌, 각 기술 선택의 이유와 트레이드오프를 설명한 것이 합격의 핵심이었습니다. 아래는 자소서에 담긴 주요 설계 결정입니다.
| 설계 결정 | 선택 이유 | 트레이드오프 인식 |
|---|---|---|
| Look-aside 캐싱 vs Write-through | 읽기 부하가 쓰기 대비 95:5 → 캐시 히트율 극대화 | 캐시 무효화 지연(Eventual Consistency) 허용 가능 데이터 식별 필요 |
| Kafka vs RabbitMQ 선택 | 금융 이벤트 영속성 보장, Consumer Group 수평 확장, Replay 가능성 | 운영 복잡도 증가, Exactly-once semantics 구현 비용 |
| Covering Index 설계 | SELECT 컬럼이 인덱스에 포함 → 실제 데이터 페이지 접근 없이 응답 | 인덱스 크기 증가, INSERT/UPDATE 성능 소폭 저하 |
| 서킷 브레이커 임계값 설정 | 10초 슬라이딩 윈도우, 50% 실패율 → Open 전환 | 임계값 너무 낮으면 일시적 오류에 서킷 브레이커 과도하게 열림 |
| MSA 서비스 분리 경계 설정 | 결제·계좌·알림·인증을 도메인별 독립 배포 단위로 분리 | 분산 트랜잭션 복잡도 증가 → Saga 패턴(Choreography) 적용 |
토스 SW System Developer 자소서에서 반복적으로 나타나는 오류와 올바른 접근법을 비교합니다.
커리어던 AI 자소서 진단으로 P99 레이턴시·가용성 수치·캐싱 아키텍처 설계 역량 표현을 지금 바로 점검하세요
무료 자소서 진단 받기