비동기 RPC(원격 프로시저 호출)는 응답을 기다릴 필요가 없는 경우의 예시들이 있다.
예를 들어, 계좌 간의 돈을 이체
한다거나 데이터베이스
에 항목을 추가한다거나 원격 서비스(remote service)
를 시작한다거나 일괄 처리(batch)
를 한다는 것이다.
비동기 RPC에서는 서버가 RPC 요청을 받자마자 클라이언트에게 즉각적
으로 응답(확인 응답)을 보내고, 그 후에 요청된 프로시저를 호출한다.
클라이언트는 확인 응답을 받은 순간부터 더 이상 블로킹되지 않고 계속 진행한다.
비동기 RPC의 변형으로는 다음과 같은 것이 있다.
클라이언트는 서버에 요청을 보낸 후 즉시 실행을 계속
한다.
클라이언트는 서버로부터 확인 응답을 기다리지 않는다.
이러한 형태를 단방향 RPC(One-way RPC)
라고 한다.
그러나 이 방식에는 문제가 있다.
신뢰성
이 보장되지 않을 때 클라이언트는 자신의 요청이 정확히 처리되었는지 확실하게 알 수 없다는 점이다.