728x90
반응형
분산 시스템 (Distributed System)
- 여러 대의 컴퓨터들이 네트워크를 통해 상호 연결되어 동작하는 컴퓨터 시스템
- 데이터 처리, 자원 공유, 계산 등을 효율적으로 수행
- 확장성과 신뢰성 향상
- 데이터 일관성, 분산 트랜잭션, 장애 대응 등을 효과적으로 다루기 위해 적절한 아키텍처, 도구, 기술을 선택하여 구현하는 것이 중요
데이터 일관성 (Data Consistency)
- 분산 시스템에서 여러 노드 간의 데이터가 항상 일관된 상태를 유지하는 것
- 다수의 노드에서 동시에 데이터를 수정하거나 읽을 때 일관성 유지 어려움
[해결방법]
일관성 수준 선택
- 강 일관성 (Strong Cosistency) : 모든 노드에서 일관된 데이터 제공
- 약 일관성 (Eventual Cosistency) : 시간이 지난 후에는 일관성 보장
분산 락과 동기화 메커니즘 사용
- 여러 노드에서의 동시 접근을 제어하기 위해 분산 락을 사용
분산 트랜잭션 (Distributed Transactions)
- 여러 노드에서 수행되는 트랜잭션, 전체 트랜잭션을 원자적 (Automic)으로 실행하는 것
ACID 속성
- 원자성 (Automicity) : 전체 트랜잭션이 성공 또는 실패로 처리
- 일관성 (Consistency) : 트랜잭션 전후에 데이터베이스는 일관된 상태 유지
- 고립성 (Isolation) : 여러 트랜잭션이 동시에 실행되도 서로 영향을 미치지 않도록 함
- 지속성 (Durability) : 트랜잭션이 성공적으로 완료되면 그 결과가 영구적으로 저장
분산 트랜잭션 관리자 (Distributed Transaction Manager)
- 분산 환경에서 트랜잭션의 일관성과 원자성을 보장하기 위한 중앙 제어자
장애 대응 (Fault Tolerance)
- 시스템 내의 장애 또는 오류에 대응하여 시스템이 계속 동작하도록 하는 노력
장애 유형
- 노드 고장 (Node Failure) : 특정 노드가 다운되는 이유
- 네트워크 분리 (Network Partition) : 노드 간 통신이 불가능한 상황
- 데이터베이스 오류 (Database Failure) : 데이터베이스 시스템의 일부분이 손상되는 경우
[해결방법]
복제와 샤딩 (Replication and Sharding)
- 데이터의 복제를 통해 고가용성과 내고장성 확보
- 데이터를 분할하여 여러 노드에 저장하는 샤딩 기법 사용
자동화된 감지와 복구
- 모니터링 시스템을 통해 장애를 감지하고, 자동으로 복구하는 메커니즘 도입
잘못된 요청에 대한 격리 및 회복
- 서킷 브레이커 판매 등을 사용하여 잘못된 요청이 전체 시스템에 영향을 미치지 않도록 격리 및 회복 기능 구현
728x90
반응형
'Yeoni Blog > 👩🏻💻' 카테고리의 다른 글
클라우드 컴퓨팅의 개념과 클라우드 플랫폼 & 서버 아키텍처 특징 요약 정리✍🏻 (0) | 2024.01.22 |
---|---|
마이크로 서비스(Microservices)의 개념과 종류 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |
자료구조와 알고리즘 종류 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |
[Web] 웹 보안이란? 웹 보안의 종류와 개념 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |
[API] RESTful API 주요 개념 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |