분산 시스템이란?

유석현(SeokHyun Yu)·2023년 4월 10일
0

분산 시스템

목록 보기
1/27
post-thumbnail
post-custom-banner

두 가지 기술적 이점

1980년대 중반 정도에 두 가지 큰 기술적 발전이 있었고 이를 계기로 분산 시스템이 대두되었다.

  • Powerful microprocessors: 컴퓨터의 계산 능력 발전
  • High-speed computer networks: 컴퓨터 네트워크 기술 발전

분산 시스템의 정의

분산 시스템은 여러 대의 독립적(independent)인 컴퓨터 시스템이 연결되어 하나의 시스템으로 동작하는 것처럼 보이게 하는 컴퓨터 시스템이다.

자율적(autonomous)인 구성 요소들로 구성되어 있으며, 각 구성 요소는 독립적으로 동작하고, 서로 메시지를 주고받으며, 필요한 경우 서로 협력하여 작업을 수행한다.

이러한 구성 요소들은 분산 시스템 내에서 서로 다른 프로그래밍 언어, 운영 체제, 하드웨어 등의 차이를 가질 수 있지만, 사용자들은 이러한 차이를 인식하지 않고, 단일 시스템과 상호작용하는 것으로 느낀다.

이는 분산 시스템이 사용자들에게 투명성(transparency)을 제공한다고 한다.

분산 시스템의 대표적인 예로 "웹""클라우드 서비스"가 있다.

클라우드 서비스는 사용자들에게 서버, 스토리지 등의 자원을 제공하며, 사용자들은 이를 마치 자신의 로컬 자원인 것처럼 사용할 수 있다.

이는 분산 시스템의 자율성과 투명성을 결합한 좋은 예시라고 볼 수 있다.


분산 시스템의 특징

  1. 분산 시스템은 여러 대의 다양한 컴퓨터들이 연결되어 구성되는데, 각 컴퓨터 시스템은 다른 시스템과 차이가 있을 수 있으며, 각 컴퓨터들이 서로 통신하는 방식도 다를 수 있다. 하지만 일반 사용자들은 이러한 차이점들을 인식할 필요 없이, 하나의 시스템으로 인식하고 사용할 수 있다.

  2. 사용자와 응용 프로그램들은 분산 시스템과 일관성(consistent)통일성(uniform) 있는 방식으로 상호작용할 수 있다. 즉, 사용자와 응용 프로그램이 분산 시스템에 접근하는 방식은 언제, 어디서든 동일하게 유지된다.

  3. 분산 시스템은 전체 시스템으로서 일관성을 유지하면서도 상대적으로 쉽게 확장하거나 확장 가능해야 한다.

  4. 분산 시스템은 일반적으로 지속적으로 이용 가능해야 한다. 즉, 일부 구성 요소가 일시적으로 작동하지 않더라도 시스템 전체가 지속적으로 이용 가능한 상태를 유지해야 한다.

profile
Backend Engineer
post-custom-banner

0개의 댓글