🐣 Computer Science

분산 컴퓨팅, RPC vs. XML Web Service 비교

dmaolon 2023. 3. 8. 21:15

📌 분산 컴퓨팅(Distributed Computing)이란?

분산 컴퓨팅(Distributed Computing)이란, 말 그대로 여러 대의 컴퓨터가 분산되어 하나의 일을 해결하는 개념이다. 
대량의 데이터 및 연산을 처리해야 하는 거대한 문제를 해결하고자, 원격지에 존재하는 여러 대의 컴퓨터들을 이용하여 협업하는 것으로,
대규모의 데이터베이스와 빅데이터를 분산하여 일을 처리하거나, 여러 프로그램들을 분산시켜 원격으로 실행하는 경우이다.
마치 하나의 컴퓨터인 것처럼 동작하며, 자원의 공유와 협업이 가능하기 때문에 효율적으로 활용이 가능하고, 확장성이 우수하다.
 

✅ 장점

  • 자원의 활용이 효율적
  • 자원의 공유와 협업이 가능 
  • 확장성이 좋다.
  • 빠른 성능을 제공

 
 
원격 컴퓨터를 이용하여 협업한다고 하는데,, 원격 컴퓨터를 어떻게 실행시킨다는 것일까??

❔ RPC(Remote Procedure Call)

RPC란, 원격 제어를 위해 원격지에 존재하는 프로시저나 함수를 실행시키는 방법이다.
과거부터 보편적으로 사용되던 방식으로, 위치에 상관없이 프로시저를 호출시킬 수 있는 프로토콜이다.
 
 

📌 분산 컴포넌트(Distributed Component) 컴퓨팅

분산 컴퓨팅에서 더 나아가 분산 컴포넌트 컴퓨팅이란 무엇일까?
먼저, 컴포넌트(Component)란 재사용이 가능한 독립된 소프트웨어 모듈을 의미한다. 객체 형태의 프로그램 일부의 형태로 재사용성이라는 장점과, 개발 생산성을 높이고 개발 기간을 줄일 수 있다는 장점이 있다.
분산 컴포넌트 컴퓨팅이란, 바로 원격지에 존재하는 컴포넌트들을 이용하여 처리하는 컴퓨팅  기술이다.
 
분산 컴포넌트 컴퓨팅 서비스들을 찾아보면, 서로의 환경이 일치해야만 한다는 문제점을 알 수 있다.
Java 환경으로 작성된 프로그램 간에서만 실행이 가능하다던가, 운영체제가 동일해야만 실행이 가능하고, 그것이 아니라면 Broker가 설치가 된 컴퓨터 간에서만 실행이 가능하다.
이렇게 다양한 운영체제, 프로그래밍 언어, 하드웨어 등(플랫폼) 환경이 동일하지 않다면, 서비스를 사용하지도 못한다는 단점이 존재한다.
또한, 방화벽과 같은 보안에 의해 통신이 차단되어 이용에 문제가 발생하기도 한다. 다수의 컴퓨터끼리 연결되어 있기 때문에 보안 취약점이 존재할 수 있다.
 

❗ 단점

  • 연결 지향적인 서비스 ( Http 통신과 반대로, 연결이 계속 유지되어야만 한다.)
  • 방화벽으로 인한 이용의 한계
  • 플랫폼에 종속적

 
 

📌 XML Web Services

XML Web Services는 바로 XML을 기반으로 하는 분산 컴포넌트 모델이다.
XML이란, Extensible Markup Language의 약자로, 데이터를 정의하고 저장하며 공유할 수 있는 마크업 언어이다. 

XML Web Services

XML Web Services는 그림에서처럼 HTTP Protocol을 이용하여 XML의 형태로 요청이 진행된다.
클라이언트의 플랫폼을 살펴보면, 사용되는 플랫폼이 다른 것을 볼 수 있다. 이처럼 플랫폼에 독립적이라는 특징이 있다.
 

✅ 장점

  • 플램폼에 독립적
  • 동기, 비동기 메시징
  • HTTP Protocol 이용

 

📌 RPC vs. XML Web Services

RPC는 주로 TCP/IP와 같은 전송 프로토콜이나 전용 프로토콜을 이용하며, XML Web Services는 HTTP 프로토콜을 이용한다.
RPC는 바이너리의 형태로 데이터를 표현하며, XML Web Services는 XML 형태로 데이터를 표현한다.
따라서, 메시지 크기가 더 작은 RPC가 처리 속도가 빠르며, XML Web Services는 메시지 크기가 커서 처리 속도가 좀더 느리다.
RPC는 플랫폼에 따라 구현 방식이 달라지므로, 플랫폼 간의 상호 운용성이 낮지만, XML Web Services는 다양한 플랫폼 간에 상호 운용성이 높다.
 
이제 기존의 분산 컴퓨팅에 이용되어 온 RPC와 XML Web Services를 표로 정리해보면,

RPCXML Web Services
처리 속도가 빠름처리 속도가 느림
전용 프로토콜을 이용해야 함HTTP 프로토콜 이용
동기 메시징만 가능동기, 비동기 메시징 가능
플랫폼에 종속적플랫폼에 독립적
밀착 결합형
(tightly coupled)
느슨한 결합형
(loosely coupled)

 
 

분산 컴퓨팅이란 무엇인가요? - 분산 컴퓨팅 설명 - AWS

분산 컴퓨팅은 분산 시스템 아키텍처 내에서 컴퓨터가 서로 메시지를 전달하는 방식으로 작동합니다. 통신 프로토콜 또는 규칙으로 인해 분산 시스템의 구성 요소 간에는 종속성이 나타납니다.

aws.amazon.com

 

소설같은 XML & XML WEB SERVICES - YES24

소설같은 XML & XML Web Services는 XML 프로그래머를 위한 책이다.. XML의 이론적인 측면보다 XML의 프로그램적인 응용 방법과 XML의 활용 분야인 XML Web Services에 초점을 맞추고 있다. 고수들의 세미나 결

www.yes24.com

 

반응형