카테고리 없음

gRPC 메소드 종류

Superkill 2019. 3. 7. 15:43
반응형

gRPC에서 사용 가능한 서비스 메소드 종류


1. Simple req/res

Format :  rpc 메소드명(req_TYPE) returns (res_TYPE) { }

- client가 server로 stub을 사용하여 request를 보내고 response를 기다립니다.

2. Server-side Streaming

Format : rpc 메소드명(req_TYPE) returns (stream res_TYPE) { }

- client가 server로 요청을 보내 stream을 얻습니다.
- 이 stream을 통해 server에서 돌아오는 메시지 시퀀스들을 읽습니다.
- 메시지가 끊길 때 까지 stream을 읽습니다.
- response type 이전에 stream 키워드를 명시해 줍니다.

3. Client-side Streaming 

Format : rpc 메소드명(stream req_TYPE) returns (res_TYPE) { }

- client가 stream을 통해 메시지 시퀀스를 server로 만들어 보냅니다.
- client가 메시지 작성을 끝내면 server가 메시지를 읽고 응답을 보낼 때 까지 기다립니다.
- request type 이전에 stream 키워드를 명시해 줍니다.

4. Bidirectional Streaming

Format : rpc 메소드명(stream req_TYPE) returns (stream res_TYPE) { }

- read/write stream을  양방향으로 메시지 시퀀스를 보낼 수 있습니다.
- 두개의 stream이 독립적으로 동작하기 때문에 server/client는 순서에 관계없이 교대로 read/write가 가능합니다.
- 각 stream의 메시지 순서는 보장됩니다.
- request / response type 앞에 stream을 모두 명시해 줍니다.