RPC(Remote Procedure Call)

각각 **별도의 공간**에서 **함수 또는 프로시저를 호출**할 수 있게 해주는 프로세스 간 통신 기술이다.


RPC 사용 경우

보통 프로세스는 자신의 주소 영역 안에 존재하는 함수만 호출이 가능한데

RPC는 **네트워크 통한 메세징**을 통해 자신의 주소 영역이 아닌 함수도 호출할 수 있게 해준다.

EX)) MSA에서 서비스 간의 호출을 할 때 RPC를 사용

RPC 목표

Untitled


RPC 동작 방식

Untitled

  1. IDL(Interface Definition Language) 사용해서 호출 규약 정의한 후

    이 정의된 규약을 기반으로 rpcGen 컴파일러를 이용해서 Stub 코드 자동 생성

  2. Stub은 소스코드(C, Java 등)로 만들어지기 때문에 각각 빌드 필요

  3. 클라이언트는 자신 프로세스 내의 함수를 부르는 것처럼 보이지만 stub에 정의된 함수를 호출