본문 바로가기
CS/Network

RPC(remote procedure call)

by chuckolet 2021. 4. 15.

RPC란 remote procedure call의 약자로, 분산 컴퓨팅 시스템에서 프로그래머가 원격 상호작용에 대한 디테일한 코딩 없이 로컬에 있는 함수를 실행하는 것처럼 원격의 함수를 실행하는 프로토콜입니다. 

 

여러 구현 방식이 있지만 기본적으로 request, response 프로토콜이며, async call을 보내지 않는 한 remote server가 request를 processing하고 response를 보낼 때까지 caller는 기다려야합니다.

 

1980년대에 RPC라는 개념이 많이 쓰였는데, HTTP 기반의 REST가 유행하면서 사라졌었다가 HTTP REST의 단점을 해결하기 위해 2007년에 Facebook에서 만들고 지금은 Apache에서 오프소스로 관리하고 있는 Thrift, 2015년에 Protocol Buffer(메세지 serialize 프레임워크)를 기반으로 serializer에 HTTP2를 붙여서 만든 GRPC 등의 개선된 RPC의 등장으로 다시 많이 활용되고 있다고 합니다.

References

- https://bcho.tistory.com/1011?category=76068

- www.geeksforgeeks.org/remote-procedure-call-rpc-in-operating-system/

- en.wikipedia.org/wiki/Remote_procedure_call

제 글이 도움이 되셨다면 간단하게 '공감', '댓글' 부탁드립니다!

댓글