당근페이, GraphQL 도입으로 프론트엔드 개발 혁신!
by DD
6개월 전
조회수 6
GraphQL 도입을 통해 프론트엔드 개발자가 필요한 데이터를 직접 선택하고 조합하도록 변경
REST API 방식의 한계를 극복하고, 스키마 설계 원칙을 수립하여 개발 효율성을 높임
안정성을 최우선으로, 단계적 도입과 테스트 커버리지 향상을 통해 서비스 안정성을 확보
GraphQL 도입 배경: REST API의 한계
기존 REST API 방식은 서버 주도 UI로, 프론트엔드 개발자가 필요한 데이터를 매번 서버에 요청해야 했다. 구체적으로, 새로운 기능 추가 시마다 API 엔드포인트를 추가하거나 수정해야 하는 비효율성이 발생했다. 따라서 GraphQL을 도입하여 클라이언트가 필요한 데이터를 직접 선택하도록 변경했다.
GraphQL vs REST: 트레이드오프 분석
GraphQL은 클라이언트가 필요한 데이터만 요청할 수 있어 데이터 오버페칭 문제를 해결한다. 반면, REST API는 서버에서 정의된 데이터를 모두 받아와야 하는 경우가 많았다. 따라서 GraphQL은 유연성을 높였지만, 스키마 설계에 대한 높은 이해도가 필요하다는 단점이 존재한다.
GraphQL 적용 가이드: 당근페이의 성공 사례
당근페이는 GraphQL 도입 시, 단계적 마이그레이션 전략을 통해 안정성을 확보했다. 구체적으로, 기존 REST API와 병행하여 테스트하고, 문제 발생 시 폴백(fallback) 기능을 구현했다. 결과적으로, 테스트 커버리지 향상과 도메인 지식 확장을 통해 성공적인 전환을 이루었다.