-
-
gRPC 시작에서 운영까지 - 도커와 쿠버네티스를 위한 클라우드 네이티브 애플리케이션 구축 ㅣ 에이콘 클라우드 컴퓨팅 시리즈
카순 인드라시리.다네쉬 쿠루푸 지음 / 에이콘출판 / 2020년 11월
평점 :
S전자에서 아나콘다 환경에서 Python 개발을 진행하고 있다. 공통서비스 및 외부 API 이용시 주로 RESTful 방식으로 구현을 한다. 향후 gRPC에 대한 준비가 필요하여 관련서적을 검색해 보니 현재 이 책이 유일하다. 간단히 내용을 살펴보았는데 Go 언어와 Java 언어 기반이다. Python에 대한 언급이 없어 아쉬웠지만 기본적인 개념과 구조를 알 수 있었다.

gRPC(gRPC Remote Procedure Calls)는 구글이 개발한 원격 프로세저 호출 시스템으로 고성능의 RPC 프레임워크이다. gRPC 아키텍처는 SSL 및 HTTP 2.0 레이어 위에서 구동된다. gRPC 코어가 있고 인터페이스정의언어를 작성하여 스켈레톤과 스텁 코드를 생성하여 구현한다. proto 파일로 서비스를 정의하면 서버 및 클라이언트를 다양한 언어로 구현할 수 있다.

RPC 통신방식은 단일 방식과 서버 스트리밍 방식, 클라이언트 스트리밍 방식, 양방향 스트리밍 방식이 있다. 파일럿 프로젝트로 이번에 구현하는 방식은 단일 RPC 방식이다. 서버와 클라이언트 모두 Python으로 구현하였다. 구현은 어렵지 않았는데 gRPC에 관한 자료나 예제가 부족하였고 요청과 응답에서 주고 받는 메시지가 다른 프레임워크와 달리 거칠게 여겨졌다.