Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그
GraphQL 커스텀 디렉티브로 만드는 선언적 지연 로딩 섬네일

GraphQL 커스텀 디렉티브로 만드는 선언적 지연 로딩

크리에이트립 favicon크리에이트립·Backend·
TypeScriptGraphQLNext.jsApollo ClientApollo Link
2025년 10월 02일1

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

크리에이트립은 GraphQL 커스텀 디렉티브 @lazy를 도입해 선언적 지연 로딩을 구현하고, SSR에서 개인화 데이터 의존 필드를 제외한 뒤 하이드레이션 이후 필요한 필드만 재조회하는 패턴으로 네트워크 부하를 줄이고 P95 응답시간을 약 20% 개선했습니다.

구현 방법

  • Apollo Link로 @lazy 필드를 제거하고 기본값으로 채움
  • LazyFetcher로 엔티티별 lazy 필드를 묶어 배치 쿼리 생성
  • 로그인 여부에 따른 재조회 여부 제어
  • 무한 루프 방지: 컨텍스트 플래그 사용
  • SSR 캐시 Hydration 이후 클라이언트에서 lazy 필드 재조회
  • ID 기반 캐시 정규화로 자동 병합

주요 결과

  • 불필요한 요청 감소 및 네트워크 부하 절감
  • 백엔드 P95 응답시간 약 20% 개선
  • DX 향상 및 코드 중복 감소
  • SSR-클라이언트 하이드레이션 간 데이터 일관성 유지

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
React Query 도입 후기 섬네일
74%

React Query 도입 후기

사람인 favicon사람인·2023년 08월 01일
대용량 트래픽을 견디는 서버 만들기 — Rust 기반 게이트웨이 구축 섬네일
73%

대용량 트래픽을 견디는 서버 만들기 — Rust 기반 게이트웨이 구축

크리에이트립 favicon크리에이트립·2025년 04월 10일
Apollo Client Pagination Fetching Guide 섬네일
73%

Apollo Client Pagination Fetching Guide

핏펫 favicon핏펫·2022년 11월 28일