본문 바로가기
  • _^**_
무근본 IT 지식 공유

gRPC (gRPC Remote Procedure Call) 프로토콜이란?

by 크리드로얄워터 2024. 3. 27.
반응형

gRPC (gRPC Remote Procedure Call) 프로토콜은 Google에서 개발한 현대적인 오픈 소스 고성능 RPC (원격 프로시저 호출) 프레임워크입니다.


이는 서비스 간 통신을 효율적으로 하기 위해 설계되었으며, 다양한 프로그래밍 언어를 지원하여 서로 다른 언어로 작성된 서비스 간의 통신을 용이하게 합니다.

gRPC는 HTTP/2를 기반으로 하며, 이를 통해 이점을 많이 취합니다.

* gRPC (gRPC Remote Procedure Call) 프로토콜 주요특징

1. 다중 언어 지원


gRPC는 C#, C++, Dart, Go, Java, Kotlin, Node.js, Objective-C, PHP, Python, Ruby 등 다양한 프로그래밍 언어를 지원합니다. 이를 통해 서로 다른 언어로 개발된 시스템 간의 상호 운용성을 높일 수 있습니다.


2. 계약 기반 설계


인터페이스 정의 언어(IDL)인 Protocol Buffers를 사용하여 API를 정의합니다. 이는 강력한 타입 체크와 함께, 애플리케이션 로직에서 통신 코드를 분리하여 API의 변경 및 관리를 용이하게 합니다.


3. 효율적인 통신


gRPC는 HTTP/2를 사용하여 클라이언트와 서버 간의 통신을 최적화합니다. HTTP/2의 기능으로는 헤더 압축, 단일 TCP 연결을 통한 여러 요청 및 응답의 무차별적 전송 (Multiplexing), 서버 푸시 등이 있습니다. 이를 통해 더 빠르고 효율적인 데이터 교환을 실현할 수 있습니다.


4. 양방향 스트리밍


gRPC는 서버와 클라이언트가 양방향으로 실시간 데이터 스트림을 주고받을 수 있는 기능을 지원합니다.
이를 통해 더욱 동적인 데이터 교환과 실시간 통신이 가능해집니다.


5. 보안


gRPC는 기본적으로 SSL/TLS를 통한 데이터 암호화를 지원하여, 안전한 데이터 전송을 보장합니다.




이러한 특성으로 인해 gRPC는 마이크로서비스 아키텍처,
클라우드 네이티브 애플리케이션,
모바일 애플리케이션 백엔드와 같은 다양한 분야에서
효과적으로 활용될 수 있습니다.


* 이 외 생각해볼만한 내용들 !

  • Q1: gRPC와 REST API 간의 차이점은 무엇이며, 각각 어떤 시나리오에서 사용하는 것이 더 적합한가요?


Q2: HTTP/2의 주요 기능 중 gRPC 성능 향상에 기여하는 요소는 무엇이 있나요?

Q3: Protocol Buffers를 사용하여 gRPC 서비스를 정의할 때의 장점은 무엇인가요?



https://link.coupang.com/a/bvC96U

구글 엔지니어는 이렇게 일한다

COUPANG

www.coupang.com



이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다

반응형

댓글