Asynchronous RPC

유석현(SeokHyun Yu)·2023년 5월 18일
0

분산 시스템

목록 보기
26/27
post-thumbnail

비동기 RPC(원격 프로시저 호출)는 응답을 기다릴 필요가 없는 경우의 예시들이 있다.

예를 들어, 계좌 간의 돈을 이체한다거나 데이터베이스에 항목을 추가한다거나 원격 서비스(remote service)를 시작한다거나 일괄 처리(batch)를 한다는 것이다.

비동기 RPC에서는 서버가 RPC 요청을 받자마자 클라이언트에게 즉각적으로 응답(확인 응답)을 보내고, 그 후에 요청된 프로시저를 호출한다.

클라이언트는 확인 응답을 받은 순간부터 더 이상 블로킹되지 않고 계속 진행한다.


비동기 RPC의 변형으로는 다음과 같은 것이 있다.

클라이언트는 서버에 요청을 보낸 후 즉시 실행을 계속한다.

클라이언트는 서버로부터 확인 응답을 기다리지 않는다.

이러한 형태를 단방향 RPC(One-way RPC)라고 한다.

그러나 이 방식에는 문제가 있다.

신뢰성이 보장되지 않을 때 클라이언트는 자신의 요청이 정확히 처리되었는지 확실하게 알 수 없다는 점이다.

profile
Backend Engineer

0개의 댓글