-
GRPC (작성중)공부/ ETC 2020. 7. 7. 22:17
GRPC 란?
- google에서 만든 rpc framework ( RPC 란? remote procedure call -> 다른 네트워크 상의 서비스를 이용할 수 있는 프로토콜 )
- IDL 로 protocol buffer 사용
서비스
- 단항(스트리밍 없음)
- 서버-클라이언트 스트리밍
- 클라이언트-서버 스트리밍
- 양방향 스트리밍
장점
- 높은 생산성과 효율적 유지 보수
- IDL 만 작성하면 코드를 자동으로 생성할 수 있습니다.
- 다양한 언어와 플랫폼 지원
- HTTP2 기반의 양방향 스트리밍
- HTTP2 기반으로 동작하기에 HTTP2 의 장점도 포함합니다. (양방향 스트리밍, 헤더 압축률 등)
- 높은 메세지 압축률과 성능
- protobuf를 이용함으로 메세지 크기를 크게 줄일 수 있습니다.
- 다양한 생태계
- @TODO 이 부분은 추가적으로 공부가 필요
권장 시나리오
- 마이크로 서비스: gRPC는 대기 시간이 짧고 처리량이 높은 통신을 위해 설계되었습니다. gRPC는 효율성이 중요한 경량 마이크로 서비스에 적합합니다.
- 지점 간 실시간 통신: 양방향 스트리밍을 위한 뛰어난 지원 기능을 제공합니다. gRPC 서비스는 폴링을 사용하지 않고 실시간으로 메시지를 푸시할 수 있습니다.
- Polyglot 환경: gRPC 도구는 널리 사용되는 모든 개발 언어를 지원하며, 따라서 gRPC는 다중 언어 환경에 적합합니다.
- 네트워크 제한 환경: gRPC 메시지는 경량 메시지 형식인 Protobuf를 사용하여 직렬화됩니다. gRPC 메시지는 항상 해당하는 JSON 메시지보다 작습니다.
참고
https://medium.com/@goinhacker/microservices-with-grpc-d504133d191d
https://docs.microsoft.com/ko-kr/aspnet/core/grpc/comparison?view=aspnetcore-3.1
'공부 > ETC' 카테고리의 다른 글
GRASP PATTERN (0) 2020.08.03 데이터의 이해 (0) 2020.03.31 Tistory Code 올리기 - SyntaxHighlighter (0) 2018.07.26