인프런 커뮤니티 질문&답변

임현강님의 프로필 이미지
임현강

작성한 질문수

운영체제 공룡책 강의

06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4)

RPC 통신 질문

작성

·

203

0

안녕하세요 강의 잘 듣고있습니다. RPC 통신에 대해서 질문드리겠습니다.

질문1. RPC도 결국 네트워크상에서 서버-클라이언트간의 통신이라면, HTTP 프로토콜을 통해 통신하는 것인가요? 헤더와 바디를 담은 요청 메시지를 보내고 응답 메시지를 받고 하는 형식으로 통신하는게 맞나요?

질문 2. 
질문1의 답이 YES라면 궁금한 점이 하나 더 있습니다.
그렇다면 RPC는 API 호출을 통해 이뤄지는 일반적인 서버-클라이언트 통신과 어떤 부분이 다른건가요?

질문 3. RPC통신에서 바인딩 문제를 해결하는 방안으로 
1. 고정 포트 주소 사용
2. matchmaker를 통해 포트번호를 알아낸 후 메시지 전송 
위 두 가지 방법이 있다는 것을 책을 통해 알았습니다.

이 중 더 자주 사용되는 방법은 무엇인가요? 그리고 2번 방법의 경우, 한 번 포트번호를 알아내면 그 다음부터는 matchmaker를 거칠 필요 없이 계속 그 포트로 보내면 되는 건가요?

감사합니다!

답변 1

0

주니온님의 프로필 이미지
주니온
지식공유자

안녕하세요?

1. 

RPC의 구현체는 CORBA도 있고, 자바의 RMI도 있기 때문에 

RPC의 하부 프로토콜을 뭘 쓸지는 구현체마다 다릅니다.

HTTP를 쓰기 보다는 TCP 레이어 위에 바로 구현되는 것으로 아는데

정확한 것은 더 찾아봐야 될 것 같습니다.

2. 

서버-클라이언트 통신과 달리, RPC는 그냥 로컬에서의 함수 호출 처럼 

사용할 수 있다는 것이 차이점입니다.

3.

더 자주 사용되는 방식이라는 기준은 애매한데요,

가능하면 matchmaker를 사용하는 것이 확장성이 좋겠지요.

하지만 서버 포트가 하나 뿐인데 matchmaker를 하나 이상 쓰는 것은

불필요한 일이 되겠지요.

임현강님의 프로필 이미지
임현강
질문자

상세한 답변 감사드립니다 교수님~

임현강님의 프로필 이미지
임현강

작성한 질문수

질문하기