RESTful vs gRPC vs GraphQL

REST

  • POST: 새 리소스를 생성한다.
  • PUT: 리소스가 존재하는 경우 업데이트하거나 리소스가 없으면 생성한다.
  • DELETE: 리소스를 삭제한다.
  • PATCH: 기존 리소스를 부분적으로 업데이트 한다.
  • GET: 리소스를 쿼리한다.
  • 성능 — 빠른 반복 및 HTTP 표준 표현이 필요한 시스템에 가장 적합하다.
  • 확장성 — 많은 수의 구성 요소와 구성 요소 간의 상호 작용을 지원한다.
  • 단순성 — REST에는 아키텍처를 단순화하고 분리하는 균일한 인터페이스가 존재한다.

gRPC

  • 가벼우며 클라이언트측의 리소스가 거의 필요하지 않다. 따라서 전력이 매우 부족한 상황에서 편리하게 이용할 수 있다.
  • 효율적이다. gRPC는 통신을 직렬화하는데 중점을 둔 구조화된 데이터 직렬화 방법인 protobufs를 사용한다.
  • 오픈소스 이며 자유롭게 사용, 수정 또는 분기할 수 있다.

GraphQL

  • 적응성 — 클라이언트가 원하는 데이터, 원하는 방식 및 형식을 결정한다.
  • 효율성 — 과도하게 가져오지 않고 클라이언트가 요청한 것을 정확하게 전달한다.
  • 유연성 — GraphQL은 크로스 플랫폼이며 12개 이상의 언어(Java, Perl, Python.,)을 지원한다.

--

--

Slow, Slow (Run Run)… 내일을 사랑하오! https://giljae.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store