Day 85 · 2/5
🌳 고급 백엔드

gRPC가 뭔가요?

쉽게 이해하기

REST API가 편지를 주고받는 거라면, gRPC는 전화 통화예요. 편지는 읽기 쉽지만 느리고, 전화는 빠르지만 사람이 직접 듣기는 어렵죠. gRPC는 기계끼리 빠르게 대화하는 데 최적화되어 있어요.

핵심 정리

구글이 만든 빠른 서버 간 통신 방식이에요.

자세히 알아보기

gRPC는 Google이 만든 고성능 RPC(원격 프로시저 호출) 프레임워크예요. REST API처럼 서버 간에 데이터를 주고받지만, HTTP/2와 Protocol Buffers(protobuf)라는 바이너리 형식을 써서 훨씬 빠르고 효율적이에요. REST는 JSON을 텍스트로 주고받지만, gRPC는 데이터를 압축된 바이너리로 주고받아서 크기가 작고 속도가 빨라요. 특히 마이크로서비스 환경에서 서버끼리 자주 통신해야 할 때 성능 차이가 크게 나요. gRPC는 .proto 파일로 API 스펙을 정의하면, 자동으로 여러 언어의 클라이언트/서버 코드를 생성해줘요. Python 서버와 Go 클라이언트가 통신하는 것도 쉽죠. 또 스트리밍을 기본 지원해서, 실시간 데이터 전송에도 강해요. 단점은 브라우저에서 직접 호출하기 어렵고, 디버깅할 때 바이너리라서 사람이 읽기 힘들다는 거예요. 그래서 보통 내부 마이크로서비스 통신에는 gRPC를 쓰고, 외부 API는 REST로 제공하는 경우가 많아요.