컴퓨터 활용(한글, 오피스 등)/기타

HTTP, RESTful API, 그리고 gRPC

3604 2026. 5. 28. 13:10
728x90
HTTP, RESTful API, 그리고 gRPC는 모두 분산 시스템에서 클라이언트와 서버가 통신하기 위해 사용하는 기술이나 아키텍처입니다. 목적에 따라 서로 다른 장점과 사용처를 가집니다. [1, 2, 3, 4, 5]
🌐 주요 통신 기술 비교
구분 [1, 2, 3, 4, 5, 6, 7]RESTful APIgRPC
전송 프로토콜 주로 HTTP/1.1 사용 HTTP/2 기반
데이터 포맷 JSON, XML (텍스트 기반) Protobuf (Protocol Buffers) (바이너리 기반)
데이터 크기 페이로드(Payload)가 크고 헤더가 중복됨 바이너리 직렬화로 데이터 크기가 매우 작음
속도 및 성능 상대적으로 느림 직렬화/역직렬화 속도가 빠르고 네트워크 대역폭 효율적
스트리밍 비효율적 (추가 폴링이나 WebSocket 필요) 양방향 스트리밍 기본 지원
규격 정의 문서 기반 (OpenAPI 등) .proto 파일 기반의 엄격한 계약(Contract)
주요 사용처 브라우저/모바일 클라이언트와 서버 간의 통신 마이크로서비스(MSA) 간의 내부 통신 (Backend-to-Backend)
🔍 핵심 특징
  • RESTful API: HTTP 표준 메서드(GET, POST, PUT, DELETE)와 URL을 활용하는 아키텍처 스타일입니다. 인간이 읽을 수 있어 디버깅이 편하고 웹 브라우저 등에서 폭넓게 지원됩니다.
  • gRPC: 구글에서 개발한 고성능 RPC(원격 프로시저 호출) 프레임워크입니다. .proto 파일에 데이터를 정의하면 서버/클라이언트 코드를 자동 생성하여 휴먼 에러를 줄이고 성능을 극대화합니다. [1, 2, 3, 4, 5, 6, 7]
⚙️ 실무에서의 활용 (보통의 경우)
일반적으로 웹/모바일 프론트엔드와 백엔드 간에는 범용성이 높은 REST API를 사용하고, 속도와 안정성이 중요한 백엔드 마이크로서비스 간(MSA) 통신에는 gRPC를 사용하는 하이브리드 형태를 많이 채택합니다. [1, 2]
728x90