Infrastructure
RPC(Remote Procedure Call)가 뭐에요?
Hero_O
2022. 8. 11. 21:31
Remote Procedure Call ( RPC )
RPC란, 원격(Remote)에 존재하는 프로시져(함수)를 마치 로컬에 존재하는 것 처럼 호출(Call)하는 것을 의미한다.
동작과정
- Local Stub 에 원하는 프로시저를 호출한다.
- Local Stub 은 호출 받은 내용을 Client가 모르게 Network를 통해 Remote Server에 요청한다.
- Remote Stub은 해당 요청에 따라 로직을 수행하고 응답한다.
- Local Stub 은 받은 응답을 Local Server에 반환하는 것으로 로직을 이어나간다.
장점
- Local Server에 로직에서는 마치 Local에 있는 함수를 호출한 것 처럼 원격 서버에 프로시져를 호출했기 때문에, 분산된 서버에서도 비즈니스 로직에 집중할 수 있다.
단점
- 호출 실행과 반환 시간이 보장되지 않는다.
- 보안이 보장되지 않는다.
Reference
스프링캠프 2017 [Day1 B5] : gㅏ벼운 RPC, gRPC(빠르고 가벼운 Polyglot RPC framework)
원격 프로시저 호출
RPC란?