기술 면접 대비 2탄 - GQL을 사용하는 이유

양진영·2022년 4월 12일
0

GQL(graphql)은 최근 많이 사용되는 통신방법이다. 기존의 rest-api를 대신 해서 많이 점점 사용 추세가 늘고있는데 이번 블로그에서는 왜 GQL이 많이 사용되는지에 대해서 알아보도록 하겠다. 우선 overfetching문제를 해결해준다.

overfetching이란 나(개발자)가 원하는 데이터보다 더많은 데이터를 받아야 했던 현상이다. overfetching이 되면 네트웨크에 트레픽이 증가하게 된다. 결국 이 문제는 돈과 관련되어있는데 GQL은 받아야하는것만 골라 받을수 있어서 개발에 들어가는 비용을 절감할수있다.

underfetching이란 한번의 요청에 담겨서 오는 데이터가 보내야 하는 데이터의 만족값을 못채우기 때문에 여러번 서버에 요청해야 하는 현상이다. 하지만 GQL은 한번 요청에 여러 api를 담아 한번에 원하는 요청을 처리할수있다.

rest-api는 백엔드 개발자가 하나하나 툴(swagger)을 이용하여 api-명세서를 작성해주어야 한다. 하지만 GQL은 auto-schema로 자동적으로 명세서를 작성하여 그것을 프론트엔드 개발자에게 전해줄수있어 작업량이 줄어드는 이점이 있다.

여러 장점이 존재하지만 하나의 단어로 GQL을 요약하자면 효율성 이라고 할수 있을것 같다. 네트워크 트레픽을 줄이고 서버에 요청 횟수를 줄여 서버비 와 네트워크 비용을 포함한 여러 비용을 줄일수 있고 자동으로 api 명세서를 만들수 있는 기능을 통해 개발자는 좀더 효율적인 곳에 에너지를 쏟을수 있기 때문에 최근 GQL에 대한 사용도가 높아졌다고 생각한다.

오늘은 GQL이 왜 많이 사용되는지에 대해 알아보았다. 다음엔 GQL을 사용하는데 있어 단점은 무엇인지 왜 사용하는 추세는 늘었지만 아직도 rest-api가 주류인지에 대해 알아보도록 하겠다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글