List

REST API와 GraphQL의 차이

#웹가이드

Web GuideREST APIGraphQL데이터 요청
REST API와 GraphQL의 차이
같은 데이터를 주고받는 두 가지 방식입니다.
선택에 따라 개발 방식과 화면 속도가 달라집니다. 발주자는 결과 차이만 알면 됩니다.
REST API와 GraphQL의 차이 관련 사진
01요청하는 방식이 다르다
REST는 정해진 주소마다 정해진 데이터를 돌려줍니다. 회원 정보 주소, 게시물 주소가 따로 있습니다.
GraphQL은 하나의 창구에서 '이것과 이것만 주세요'라고 요청합니다.
REST
주소마다 정해진 데이터 · 구조가 단순하고 이해하기 쉬움 · 자료가 많음 · 여러 번 요청해야 할 때가 있음
GraphQL
필요한 것만 골라 한 번에 요청 · 요청 수가 줄어듦 · 초기 설계가 복잡 · 다룰 수 있는 개발자가 상대적으로 적음
02언제 차이가 나는가
화면 하나에 여러 종류의 데이터가 필요할 때 차이가 드러납니다. REST는 여러 번 요청하고, GraphQL은 한 번에 받습니다.
단순한 사이트에서는 체감 차이가 거의 없습니다.
단순한 사이트
차이가 거의 없습니다. REST로 충분합니다.
복잡한 대시보드
한 화면에 여러 데이터. GraphQL이 유리할 수 있습니다.
모바일 앱
통신 횟수를 줄이면 체감 속도가 좋아집니다.
외부 공개 API
REST가 널리 쓰여 상대가 쓰기 쉽습니다.
팀 역량
다룰 수 있는 개발자가 있는지가 가장 현실적인 기준입니다.
03운영 관점의 고려사항
방식에 따라 캐시, 보안, 모니터링 설정이 달라집니다. 이 부분을 미리 정해두지 않으면 운영 중에 문제가 생깁니다.
특히 GraphQL은 무거운 요청이 들어오면 서버가 부담을 받습니다.
1
캐시
REST가 상대적으로 단순합니다. GraphQL은 별도 설계가 필요합니다.
2
권한
어떤 데이터를 누가 볼 수 있는지 항목 단위로 정해야 합니다.
3
요청 제한
과도한 요청을 막는 장치가 필요합니다.
4
모니터링
어떤 요청이 느린지 확인할 수 있어야 합니다.
5
문서화
GraphQL은 구조가 자동 문서화되는 장점이 있습니다.
04발주자가 판단할 것
기술 자체보다 그 선택이 일정, 비용, 유지보수에 미치는 영향을 물어보세요.
왜 이 방식인가요
우리 화면 구조에 맞는 이유가 있는지.
일정에 영향은요
익숙하지 않은 방식이면 기간이 늘어납니다.
다른 업체도 다루나요
유지보수 업체 변경 가능성.
외부 연동 계획은요
외부에 공개할 계획이 있다면 REST가 무난합니다.
서버 부하 대응은요
무거운 요청을 어떻게 막는지.
CHECK POINT
□  우리 화면 구조에 맞는 선택인지 설명을 들었는가
□  개발 일정에 미치는 영향을 확인했는가
□  다른 업체가 이어받을 수 있는가
□  외부 공개 계획이 있는지 고려했는가
□  권한 설계가 되어 있는가
□  과도한 요청을 막는 장치가 있는가
단순한 사이트에서는 두 방식의 체감 차이가 거의 없습니다.
한 화면에 여러 데이터가 필요한 복잡한 서비스에서 차이가 드러납니다.
#REST API#GraphQL#데이터 요청#API 설계#서버 부하#캐시#권한#홈페이지 개발#웹비스타#홈페이지 제작
목록보기