본문 바로가기
추천2026년 5월 13일5분 읽기

SLASH 26 컨퍼런스 라이브 — 토스가 풀스택 TS를 GraphQL→tRPC로 옮긴 이유

YS
김영삼
조회 1934
SLASH 26 컨퍼런스 라이브 — 토스가 풀스택 TS를 GraphQL→tRPC로 옮긴 이유

핵심 요약

토스가 주최하는 개발자 컨퍼런스 SLASH 26이 5월 13~14일 양일간 강남 르네상스 호텔에서 진행 중이다. 가장 화제가 된 발표는 코어 챕터 박재성 시니어의 "GraphQL에서 tRPC로 — 6개월의 마이그레이션 회고". 풀스택 TypeScript 환경에서 GraphQL을 버리고 tRPC로 옮긴 의사결정과 트레이드오프를 솔직하게 공개했다.

  • 발표 일시: 5월 13일 14:00, 그랜드볼룸
  • 발표자: 박재성 시니어 (토스 코어 챕터)
  • 관련 시스템: 토스 증권 + 토스 페이먼츠 일부
  • 실시간 시청: 800석 만석, 라이브 스트리밍 1.2만 명 동시 접속

왜 GraphQL을 버렸나

토스는 2021년부터 GraphQL을 풀스택 표준으로 사용했다. 4년 사용 끝에 옮긴 이유:

  • 풀스택 TS 환경: 모든 코드가 TS인 환경에서 GraphQL 스키마는 별도 정의 — 중복
  • 코드 생성: codegen이 빌드 시간 6분 추가 + CI 안정성 이슈
  • 런타임 오버헤드: GraphQL 파싱·resolver 호출이 평균 8~14ms 추가
  • 학습 곡선: 신입 개발자 온보딩 평균 3주
  • 외부 노출 X: 토스 GraphQL은 사내 전용 — REST보다 GraphQL의 장점이 의미 약했음

tRPC를 선택한 이유

비교GraphQLtRPC
스키마 정의별도 .graphqlTS 코드 자체
코드 생성필요 (codegen)불필요 (타입 추론)
런타임파싱·resolver일반 함수 호출
외부 노출표준 GraphQL자사 풀스택 전용
모바일 클라이언트지원 풍부자체 어댑터 필요

마이그레이션 6개월 회고

Phase 1 — 신규 API만 tRPC로 (2개월)

  • 전체 약 1,800개 endpoint 중 신규 130개를 tRPC로 작성
  • GraphQL과 공존 — Gateway가 라우팅
  • 학습·문제 파악 위주

Phase 2 — 핵심 도메인 마이그레이션 (3개월)

  • 토스증권 핵심 API 320개 변환
  • 각 변환마다 회귀 테스트 + 카나리 배포
  • 실측: 평균 P99 응답시간 12ms 감소

Phase 3 — 정리 (1개월)

  • 나머지 API 변환
  • GraphQL 인프라 제거 — codegen 파이프라인·resolver 등
  • 빌드 시간 6분 → 1분 (84% 감소)

실측 — 마이그레이션 효과

지표GraphQL 시점tRPC 이후
풀스택 빌드 시간11분3.5분 (-68%)
P99 응답 시간 (API 평균)72ms58ms (-19%)
신입 온보딩 시간3주1주
API 정의 → 호출 라인 수평균 47줄평균 18줄
codegen 인프라 비용/월$1,200 (CI)$0

예상치 못한 어려움

  • 모바일 클라이언트: iOS·Android에 tRPC 클라이언트 없음 — 자체 OpenAPI 어댑터 추가 개발
  • 외부 파트너: 일부 GraphQL endpoint는 외부 파트너 호환 위해 유지 (전체 5%)
  • 회의 시간: "tRPC 안 써본 시니어"의 거부감 — 의사결정 회의에 시간 많이 소요

발표자 박재성 시니어의 결론

"GraphQL이 나쁜 게 아니다. 풀스택 TS + 사내 전용이라는 조건에서 GraphQL의 가치가 떨어진 것이다. 외부 API·다양한 클라이언트가 있다면 GraphQL이 여전히 답이다. 토스 SLASH 26의 메시지는 단순하다: 너의 회사 조건에 맞는 도구를 골라라. 트렌드 따라가지 마라."

현장 반응

발표 직후 Q&A 시간에 30분 동안 질문이 끊이지 않았다. 가장 많은 질문은 "우리도 옮겨야 하나" — 박재성 시니어는 "답은 회사마다 다르다. 코드 생성 인프라·온보딩 시간·외부 노출 여부 3가지를 우선 보라"고 조언했다.

다른 인기 세션

제목발표자일시
토스 인증 — 4억 사용자 무중단 마이그레이션유지원 (토스뱅크)5/13 16:00
토스 핀테크 보안 SDLC김민혁 (토스 보안팀)5/13 17:30
토스의 모놀리스 분리 — 잘된 것, 후회한 것강도훈 (토스코어)5/14 10:00
토스 데이터 플랫폼 — 페타바이트 SQL 인프라이정환 (토스 데이터)5/14 14:00

온라인 시청

SLASH 26 모든 발표는 5월 20일 토스 유튜브 채널에 공개된다. 박재성 시니어의 GraphQL→tRPC 마이그레이션 발표는 작년 SLASH 25의 인기 1위였던 "토스 SLASH 21·22·23·24의 회고"를 넘는 조회수가 예상된다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록