Cloud Study - gRPC
2021. 5. 15. 15:47ㆍWork/Cloud_Devops
728x90
반응형
#gRPC
- g(google) + RPC(Remote Procedure Call)
- IDL(Interface Define Language) 및 기본 메시지 교환 형식으로 사용 가능
- 서버 측에서 서버는 인터페이스를 구현하고 gRPC 서버를 실행하여 클라이언트 호출을 처리
- Client 측에서 서버와 동일한 메소드를 제공
#gRPC 사용
- 동기식 백엔드 마이크로서비스 - 마이크로서비스 통신의 즉각적 응답
- 혼합 프로그래밍 플랫폼 환경
- 성능이 중요한 낮은 대기 시간 및 높은 처리량의 통신
- 지점간 실시간 통신, 양방향 스트리밍 지원, 실시간 메시지 푸시
#Protocol Buffers
- 프로토콜 버퍼로 작업할 첫번째 단계는 직렬화하려는 데이터의 구조를 정의
- 프롵토콜 버퍼 메시지로 지정된 RPC 메서드 매개 변수및 반환 유형을 사용하여 일반 proto 파일에서
gRPC 서비스를 정의
#RPC life cycle
- Unary RPC, 클라이언트가 단일 요청을 보내고 단일 응답을 받는 가장 간단한 유형의 RPC를 고려
1. 클라이언트가 stub(스텁) 메서들르 호출하면 이 호출에 대한 클라이언트의 메타 데이터,
메서드 이름 및 지정된 기한을 사용하여 RPC가 호출되었음을 서버에 알림
2. 서버는 자체 초기 메타데이터를 즉시 다시 보내거나 클라이언트의 요청 메시지를 기다릴 수 있음
3. 서버가 클라이언트의 요청 메시지를 받으면 응답을 만들고 채우는 데 필요한 모든 작업을 수행
응답은 상태 세부 정보 및 선택적 후행 메타 데이터와 함께 클라이언트에 반환
4. 응답 상태가 OK이면 클라이언트가 응답을 받고 클라이언트 측에서 호출 완료
- Server streaming RPC, 서버가 클라이언트의 요청에 대한 응답으로 메시지 스트림을 반환
- Client streaming RPC, 클라이언트가 단일 메시지 대신 서버로 메시지 스트림을 보내는 것
728x90
반응형
'Work > Cloud_Devops' 카테고리의 다른 글
Cloud Study - ETCD cluster (0) | 2021.07.14 |
---|---|
Cloud Study - 고가용성 (0) | 2021.05.23 |
Cloud Study - Terraform (0) | 2021.04.10 |
Cloud Study - EKS, Argo, prometheus, grafana (0) | 2021.04.07 |
Cloud Study - 종료는 꼭 하세요 (0) | 2021.03.29 |