분산 시스템의 목표

광부·2025년 2월 10일

Cloud

목록 보기
3/5

분산시스템의 목표에 대해 간단히 나열하자면 아래와 같다.
(개인적으로 정리한 글이니 자세한 내용을 원한다면 다른 블로그를 참고해주세요)

  1. Resource Sharing(자원 공유)
    • 보안의 3요소인 Condifentiality(기밀성), Integrity(무결성), Availability(가용성)을 포함한다.
  2. Transparency(투명성)
    • 물리적으로 분산되어 있다는 사실을 숨기는 성질 : 사용자에게 Centralized System 처럼 보이기 위함.
    • 모든 Transparency를 잡는 것은 성능의 저하를 일으키므로 가용범위내에서 절충해야됨.
    • 7가지의 투명성 Access, Location, Relocation, Migration, Concurrecy, Replication, Failure/Persistence
  3. Openess(개방성)
    • 내재된 환경과 관계없이 다른 개방형 시스템과 상호작용할 수 있는 능력
    • 다양한 언어 및 플랫폼, 하드웨어에 종속되지 않고 상호작용할 수 있어야 함.
  4. Reliability(신뢰성)
    • 중앙집중형의 경우, 한 서비스에서의 장애가 서비스 전체로 퍼져나가기에 신뢰성이 낮다. 단일 장애지점(Single Point of Failure)을 조심해야 한다.
    • 분산형의 경우, 서비스가 중복되어있거나, 분산되어있을경우, 일부분에서의 장애가 전체에 영향을 주지 않는다.
  5. Perfomance(성능)
    • 중앙집중형의 경우, 단일 서버가 모든 요청을 처리한다. 이때 각 서비스 마다의 서버에서 처리속도가 다르지만, 서버의 최대 커넥션수는 정해져있기에 bottleneck이 발생한다.
    • 분산형의 경우, 성능향상을 위해 비동기 방식으로 사용자 요청을 여러 서버에 전달후, 처리된 값만 받아 응답할 수 있다.
  6. Scalability(확장성)
    • 트래픽 부하가 늘어남에 따라서, 증가되는 요청에 얼마나 적응할 수 있는지
    • 시스템이 일관성을 유지해야하기에 동일한 기능의 서비스들끼리 동기화가 필요함.
    • Scale up: 단일 서버(서비스)의 하드웨어 성능을 향상.
    • Scale out: 복수의 서버를 사용해 처리량을 늘리는 것.
profile
백엔드 주니어 개발자

0개의 댓글