gRPC
2023. 7. 11. 13:53ㆍweb
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, xml 포맷보다 protocol buffer 포맷의 사이즈가 더 작음
- 파싱 과정 불필요
- json 포맷은 받은 후 객체형태로 변환 후 사용해야 하지만 protocol buffer는 byte를 그대로 전송 후 사용 후 별도의 파싱 과정 필요없음
<CONS>
- 사람이 읽는 것이 번거로움
- json은 key, value 형식으로 보기가 편하지만, protocol buffer은 바이트 형태라 읽기 어려움
- 데이터 이해하려면 .proto 문법 공부 좀 해야함