RPC란

choi·2025년 3월 31일

개념_정리

목록 보기
5/5

회사 업무 중 rpc 라는 개념을 알게 되어서 찾는 김에 정리한다

RPC란?

원격 호출’을 마치 '로컬 함수 호출'처럼 보이게 추상화한 기술

HTTP 방식과 RPC 방식의 차이

# HTTP 방식 예시
import requests

res = requests.get("http://example.com/user/sangwoo")
data = res.json()
print(data['name'])

# gRPC 방식 예시 
user = client.GetUserInfo("sangwoo")
print(user.name)

'둘 다 서버에 요청하고 결과를 받는다는건데 왜 굳이 RPC를 사용하는가?' 라는 의문이 생김

RPC 를 사용하는 이유 (검색 결과 정리)

1. 추상화(로컬 함수처럼 사용)
2. 데이터 직렬화 최적화(성능)
3. 자동화된 코드 생성(생산성)
4. 정형화된 통신 방식(? 굳이 이게 왜 장점인가)
5. 클라이언트로 푸시, 양방향 스트리밍 가능(gRPC인 경우, 다른 RPC는 지원하는지 파악 못함)

정리

RPC는 함수처럼 호출해서,
빠르고,
타입 안전하고,
자동화된 구조로,
복잡한 네트워크 통신을 추상화해서 처리하게 해주는 방식

profile
늦게나마 정신을 차리려고 하는 개발 뭐시기하는 사람

0개의 댓글