gRPC

2023. 7. 11. 13:53web

1. gRPC란?

 

  • 구글에서 개발한 오픈 소스 원격 프로시저 호출 시스템(RPC)
  • 호출을 위해서 TCP/IP 프로토콜, HTTP2.0 프로토콜을 사용
  • 직렬화 데이터 구조로 protocol buffer을 사용

 

2. RPC(Remote Procedure Call)은 뭔데?

 

한 프로그램이 네트워크의 세부 정보를 이해하지 않고도 네트워크 안의 다른 컴퓨터의 프로그램에게 서비스를 요청하는 프로토콜

 

 

3. 데이터 직렬화는?

  • 원본 데이터를 통신에 활용할 수 있는 형식으로 바꾸는 것
  • gRPC에서는 바이트 단위로 변환

 

4. gRPC의 특징

 

<PROS>

  • 빠른 통신이 가능하다
    • 같은 데이터를 표현하는 데 json, xml 포맷보다 protocol buffer 포맷의 사이즈가 더 작음
      • 단위시간 당 전송가능 데이터가 늘어남
    • HTTP2.0 프로토콜 이용해서 빠름
  • 파싱 과정 불필요
    • json 포맷은 받은 후 객체형태로 변환 후 사용해야 하지만 protocol buffer는 byte를 그대로 전송 후 사용 후 별도의 파싱 과정 필요없음

<CONS>

 

  • 사람이 읽는 것이 번거로움
    • json은 key, value 형식으로 보기가 편하지만, protocol buffer은 바이트 형태라 읽기 어려움
  • 데이터 이해하려면 .proto 문법 공부 좀 해야함

'web' 카테고리의 다른 글

쿠키 & 세션  (0) 2023.05.14