RPC (Remote Procedure Call)

JM1107·2022년 11월 21일
0

1. IPC (Inter Processor Communication)란?

  • 프로세스들 사이에 서로 데이터를 주고받는 행위
  • 단일 컴퓨터 내 프로세스 통신(Shared Memory, message passing 등)
    vs
    컴퓨터간 네트워크 통신 (Socket, RPC)

2. RPC란?

  • 프로세스간 네트워크 통신을 위해 사용하는 IPC방법의 한 종류

3. Socket vs RPC

소켓 : IP Address와 Port Number를 활용해 서버와 클라이언트 통신

출처 : Silberschatz, Operation System Concepts, 10th ED

RPC : 클라이언트와 서버 사이에 원격지의 프로시져를 호출하여 네트워크 통신

출처 : geeks for geeks

4. RPC 특징

  • 일반적으로 프로세스는 자신의 주소공간 안에 존재하는 함수만 호출하여 실행,
    RPC의 경우 원격지에서 동작하는 프로세스를 호출하여 실행할 수 있다.
  • 원격지의 각 Port마다 고유한 Function 및 Parameter들을 보유
  • 주로 분산 컴퓨팅 환경에서 프로세스 간 상호 통신 및 컴퓨팅 자원의 효율적인 사용을 위해서 발전된 기술
  • 고유 프로세스 개발 집중 가능
  • 프로세스간 통신을 쉽게 구현 및 정교한 제어가 가능

5. RPC의 한계

호출 및 반환 시간이 사용자 및 네트워크 환경에 따라 편차 큼, 불확실성

profile
개발자준비

0개의 댓글