AI 시스템 구축: 배포 방식 – gRPC

ㅁ 배포 방식

1. gRPC

ㅇ 정의:
구글이 개발한 고성능 원격 프로시저 호출(Remote Procedure Call) 프레임워크로, HTTP/2 기반에서 동작하며 프로토콜 버퍼(Protocol Buffers)를 기본 직렬화 포맷으로 사용한다.

ㅇ 특징:
– 양방향 스트리밍 지원으로 실시간 데이터 전송에 유리
– HTTP/2 기반으로 다중화, 헤더 압축, 서버 푸시 가능
– 강력한 타입 안정성과 자동 코드 생성 지원
– 다양한 언어 간 상호 운용성 보장

ㅇ 적합한 경우:
– 마이크로서비스 간 고성능 통신이 필요한 경우
– 실시간 양방향 데이터 송수신이 필요한 AI 모델 서빙 환경
– 네트워크 효율성과 낮은 지연시간이 중요한 경우

ㅇ 시험 함정:
– gRPC가 REST보다 항상 빠르다고 단정하는 것은 오답 (네트워크 환경, 메시지 크기에 따라 다름)
– JSON 직렬화를 기본으로 사용한다고 착각하는 경우 (기본은 Protocol Buffers)
– HTTP/1.1 기반이라고 잘못 표기하는 경우

ㅇ 시험 대비 “패턴 보기” 예시:
O: gRPC는 HTTP/2 기반이며, Protocol Buffers를 기본 직렬화 포맷으로 사용한다.
X: gRPC는 HTTP/1.1 기반이며, JSON을 기본 직렬화 포맷으로 사용한다.

ㅁ 추가 학습 내용

gRPC는 TLS를 통한 암호화 통신을 지원하여 데이터 전송 시 기밀성과 무결성을 보장한다. 로드 밸런싱 전략으로는 클라이언트 사이드 로드 밸런싱, 서버 사이드 로드 밸런싱, 서비스 디스커버리 연계 방식 등이 있다. 스트리밍 방식은 서버 스트리밍(클라이언트 요청 1회에 서버가 여러 응답 전송), 클라이언트 스트리밍(클라이언트가 여러 요청을 보내고 서버가 1회 응답), 양방향 스트리밍(양측이 독립적으로 다중 메시지를 주고받음)으로 구분된다. REST API 대비 gRPC는 바이너리 전송과 HTTP/2 기반으로 성능이 우수하고 스트리밍 지원이 강점이지만, 디버깅과 브라우저 직접 호출이 어렵다는 단점이 있다. AI 모델 배포 시 gRPC는 TensorFlow Serving, Triton Inference Server 등과 연계하여 고성능 추론 서비스를 제공할 수 있다. gRPC-Web을 사용하면 브라우저 환경에서도 gRPC 호출이 가능하다. 프로토콜 버퍼의 버전 호환성 관리는 필드 번호 고정, 삭제 대신 예약 처리, 신규 필드 추가 시 기본값 고려 등의 규칙을 준수하여 이루어진다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*