로딩
요청 처리 중입니다...

182. [Network] gRPC 기본 개념 및 사용 예시 (golang, python), gRPC의 Load Balancing

 182. [Network] gRPC 기본 개념 및 사용 예시 (golang, python), gRPC의 Load Balancing

이번 포스트에서는 gRPC의 기초적인 내용에 대해서 다룬다. 굉장히 기초적인 내용만을 다루기 때문에 별로 재미가 없을수도 있다.. 1. gRPC 개념 gRPC는 구글이 사내에서 마이크로서비스를 연결하기 위해 사용하고 있던 Stubby를 오픈소스화 한 것으로, 현재는 CNCF에 소속되어 개발되고 있다. gRPC의 용도를 간단하게 설명하자면, '원격 프로세스의 함수를 마치 로컬의 함수처럼 사용할 수 있는 프로토콜 또는 인터페이스' 정도가 되겠다.

개념 자체는 기존의 RPC (Remote Procedure Call) 와 크게 다르지 않지만, 세부 구현에 있어서 여러 차이점이 존재한다. gRPC는 HTTP/2를 기반으로 구현되었기 때문에 HTTP/2의 장점을 그대로 활용할 수 있다. 아래 특징들만 봐서는 장점이 잘 와닿지 않을수도 있는데, 단적으로 말해서 HTTP/1을 사용하는 REST보다 성능이 개선되었다고 생각하면 된다. - HTTP Connection 재사용 : HTTP/1로 구현된 ...