[개발 일기] 2025.05.02 -GraphQL, gRPC

2025. 5. 2. 13:42·개발 일기

💡 개요

 

오늘은 API 아키텍처 기술인 GraphQL, gRPC에 대해 정리해 보자.

 

 

REST는 어제 정리했으니까 생략..!

 

 

 

🛠️ GraphQL

 

GraphQL은 페이스북에서 개발한 API를 위해 쿼리 언어를 사용하는 기술이다.

 

 

REST의 단점을 극복하고자 2015년에 처음으로 공개되었다.

 

 

GraphQL의 특징은 다음과 같다.

 

  • 모든 요청은 /graphql 이라는 하나의 엔드포인트에서 처리한다. REST의 경우엔 기능에 따라 URL을 다르게 분리하지만, GraphQL은 그럴 필요 없다.

 

  • 클라이언트가 원하는 데이터를 정의하면, 서버는 정확하게 그 데이터만 전달하는 API 방식이다. 불필요한 데이터는 조회하지 않을 수 있다.
query {
  user(id: "1") {
    name
    email
  }
}

 

위 쿼리문을 서버에게 전달하면 name와 email만 조회할 수 있다.

 

 

 

🛠️ gRPC

 

gRPC은 구글이 개발한 API 프레임워크로 HTTP/2를 사용해 빠르고 가볍게 양방향 통신이 가능하다.

 

 

메시지 형식으로는 Protocol Buffers(protobuf)를 사용한다.

 

 

gRPC의 특징은 다음과 같다.

 

  • Protocol Buffers을 통해 JSON보다 효율적인 이진 직렬화를 사용한다.
syntax = "proto3";

service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}

message UserRequest {
  int32 id = 1;
}

message UserResponse {
  string name = 1;
  string email = 2;
}

 

  • HTTP/2를 기반으로 하기 때문에 동시 요청이나 스트리밍과 같은 실시간 통신 및 데이터 처리가 가능하다.

'개발 일기' 카테고리의 다른 글

[개발 일기] 2025.05.04 - JWT 페이로드 종류  (0) 2025.05.04
[개발 일기] 2025.05.03 - JWT 말고 인증에 사용할 만한 기술  (0) 2025.05.03
[개발 일기] 2025.05.01 - ws vs wss (Feat: Nginx)  (0) 2025.05.01
[개발 일기] 2025.04.30 - REST  (0) 2025.04.30
[개발 일기] 2025.04.29 - apt-get update 하는 이유  (0) 2025.04.29
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.05.04 - JWT 페이로드 종류
  • [개발 일기] 2025.05.03 - JWT 말고 인증에 사용할 만한 기술
  • [개발 일기] 2025.05.01 - ws vs wss (Feat: Nginx)
  • [개발 일기] 2025.04.30 - REST
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.05.02 -GraphQL, gRPC
상단으로

티스토리툴바