[Node.js] JSON RPC

Posted by 신희준 on November 15, 2017



2017 - 11 - 15 (수)


  • RPC
  • JSON-RPC


  • RPC (Remote Procedure Call)

    RPC 는 별도의 원격 제어를 위한 코딩 없이 물리적 메모리나 가상메모리 같은 특정 주소공간에서 함수나 프로시저를 실행할 수 있게하는 프로세스 간 통신 기술이다.


    소프트웨어는 클라이언트의 요청에 신속하게 반응해야하며 언제든지 서버와 연결할 수 있어야한다.

    RPC를 활용할 경우 개발자는 이러한 네트워크 통신에 신경쓰지 않아도된다. RPC (Remote Procedure Call) 말그대로 원격지에 있는 프로그램을 로컬에 있는 프로그램처럼 사용할 수 있는 것이다.

    즉 RPC 프로그래밍은 클라이언트와 서버의 통신을 보장하기위한 효율적인 방법중 하나이다.

    기본적으로 클라이언트와 서버간의 RPC를 위해서는 RPC 런타임 라이브러리가 필요하다.

    – 정리가 더필요할 듯 – (이해안가는 부분 정리필요)



    JSON-RPC

    RPC 는 서버에 데이터를 요청하여 응답받는 과정을 라이브러리에서 자동으로 처리한다. 이방법을 활용하면 서버를 훨씬 쉽고 간단하게 구축 가능하다.

    다양한 RPC 방법 중 JSON-RPC 는 JSON 포맷으로 데이터를 주고 받을 수 있어 JS 기반인 노드에서 많이 활용된다.

    예를들어 웹서버에서 어떤 함수를 정의해 놓는다면 클라이언트에서 이 함수를 실행할 경우, 라이브러리가 Stub(JSON-RPC)을 통해 서버로 요청을 보내고 서버에서는 이 함수를 실행한 후 그 결과값을 응답한다.