정의에서 원격 호출로
서비스 정의는 호출할 메서드와 매개변수 및 반환 자료형을 지정한다. 생성된 클라이언트 코드는 메시지를 서버에 전달하고, 서버는 정의된 메서드를 구현해 요청을 처리한다.
단일 메시지와 스트림
서버 스트리밍은 요청 하나에 여러 응답을 보내고, 클라이언트 스트리밍은 여러 요청 뒤에 응답을 받는다. 양방향 스트리밍에서는 양쪽이 독립적으로 메시지를 보내며 각 스트림 내부의 순서는 유지된다.
호출의 종료와 상태
클라이언트는 호출의 완료를 기다릴 기한을 지정할 수 있다. 서버가 작업을 마쳤더라도 응답이 기한 뒤 도착하면 클라이언트의 성공 판단과 다를 수 있으므로 호출 상태와 응용의 처리 결과는 구분된다.
관련 문서
프로토콜 버퍼 / Apache Thrift / Capn Proto / JSON-RPC / 네트워크 / 프로그래밍 언어