다음을 통해 공유


분산 시스템 모델

일반적으로 여러 컴퓨터에서 모놀리식 시스템을 실행하는 것은 시스템을 별도의 클라이언트 및 서버 구성 요소로 분할하는 것을 의미했습니다. 이러한 시스템에서 클라이언트 구성 요소는 사용자 인터페이스를 처리하고 서버는 데이터베이스 액세스, 인쇄 등과 같은 백 엔드 처리를 제공했습니다. 컴퓨터가 확산되고, 비용이 감소하고, 그 어느 때보다 높은 대역폭 네트워크에 의해 연결됨에 따라 소프트웨어 시스템을 여러 구성 요소로 분할하는 것이 더 편리해졌으며, 각 구성 요소는 다른 컴퓨터에서 실행되고 특수 기능을 수행했습니다. 이 방법은 개발, 관리, 관리를 간소화하고 성능과 견고성이 향상되는 경우가 많습니다. 한 컴퓨터에서 오류가 발생해도 전체 시스템을 사용하지 않도록 설정할 필요는 없기 때문이다.

대부분의 경우 시스템은 다음 그림과 같이 분산 시스템이 개별 노드로 구성되어 있더라도 필요한 작업을 수행하는 불투명 클라우드로 클라이언트에 표시됩니다.

클라이언트는 외부 클라이언트에 불투명 클라우드로 표시되는 rpc 서버 시스템의 서비스에 액세스합니다.

컴퓨팅 작업이 클라이언트를 대신하여 호출되기 때문에 클라우드의 불투명도가 유지됩니다. 따라서 클라이언트는 클라우드 내에서 컴퓨터( 노드)를 찾고 지정된 작업을 요청할 수 있습니다. 작업을 수행할 때 해당 컴퓨터는 추가 단계 또는 수행된 컴퓨터를 클라이언트에 노출하지 않고 클라우드 내의 다른 컴퓨터에서 기능을 호출할 수 있습니다.

이 패러다임을 사용하면 분산된 클라우드와 유사한 시스템의 메커니즘을 여러 개별 패킷 교환 또는 개별 노드 간의 대화로 세분화할 수 있습니다.

기존 클라이언트 서버 시스템에는 고정된 역할과 책임이 있는 두 개의 노드가 있습니다. 최신 분산 시스템에는 두 개 이상의 노드가 있을 수 있으며 해당 역할은 동적인 경우가 많습니다. 한 대화에서 노드는 클라이언트일 수 있고 다른 대화에서는 노드가 서버일 수 있습니다. 대부분의 경우 노출되는 기능의 궁극적인 소비자는 사용자가 키보드에 앉아 출력을 보고 있는 클라이언트입니다. 다른 경우에는 분산 시스템이 무인으로 작동하여 백그라운드 작업을 수행합니다.

분산 시스템에는 각 특정 패킷 교환에 대한 전용 클라이언트 및 서버가 없을 수 있지만 호출자(또는 초기자 중 하나를 클라이언트라고도 함)가 있음을 기억하는 것이 중요합니다. 호출 수신자(서버라고도 함)도 있습니다. 분산 시스템의 요청-회신 형식으로 양방향 패킷 교환을 가질 필요는 없습니다. 메시지가 한 가지 방법으로만 전송되는 경우가 많습니다.