# 분산 시스템 독서 목록 (2014)

> Clean Markdown view of GeekNews topic #17347. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17347](https://news.hada.io/topic?id=17347)
- GeekNews Markdown: [https://news.hada.io/topic/17347.md](https://news.hada.io/topic/17347.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-10-21T10:03:12+09:00
- Updated: 2024-10-21T10:03:12+09:00
- Original source: [dancres.github.io](https://dancres.github.io/Pages/)
- Points: 2
- Comments: 0

## Topic Body

### 분산 시스템 읽기 목록

#### 소개
- 분산 시스템에서 가장 어려운 점은 사고 방식을 바꾸는 것임.
- 이 목록은 그러한 변화를 촉진하는 데 유용한 자료를 모은 것임.

#### 사고를 자극하는 자료
- 대규모 시스템 설계에 대한 새로운 관점을 제공하는 글 모음.
- **Harvest, Yield and Scalable Tolerant Systems**: CAP 이론의 실제 응용.
- **On Designing and Deploying Internet Scale Services**: 인터넷 규모 서비스 설계 및 배포.
- **The Perils of Good Abstractions**: 완벽한 API/인터페이스 구축의 어려움.
- **Chaotic Perspectives**: 대규모 시스템의 예측 불가능성과 병렬성.
- **Data on the Outside versus Data on the Inside**: 데이터 관리의 두 가지 접근 방식.
- **Memories, Guesses and Apologies**: 데이터 처리의 불확실성.
- **SOA and Newton's Universe**: 서비스 지향 아키텍처의 철학적 접근.
- **Building on Quicksand**: 불안정한 기반 위에 시스템 구축.
- **Why Distributed Computing?**: 분산 컴퓨팅의 필요성.
- **A Note on Distributed Computing**: 분산 컴퓨팅의 기본 개념.
- **Stevey's Google Platforms Rant**: Google의 SOA 플랫폼 경험.

#### 지연 시간
- 지연 시간의 존재와 그에 대한 대처 방법.
- **Latency Exists, Cope!**: 지연 시간의 건축적 영향.
- **Latency - the new web performance bottleneck**: 웹 성능의 새로운 병목 현상.
- **The Tail At Scale**: 대규모 시스템에서의 지연 시간 문제.

#### Amazon
- 기술보다는 Amazon의 문화와 조직에 대한 흥미로운 내용.
- **A Conversation with Werner Vogels**: 서비스 기반 아키텍처로의 전환.
- **Discipline and Focus**: Amazon의 아키텍처 전환에 대한 추가 내용.
- **Vogels on Scalability**: 확장성에 대한 Vogels의 견해.

#### Google
- 분산 시스템의 최신 기술.
- **MapReduce**: 대규모 데이터 처리 모델.
- **Chubby Lock Manager**: 분산 락 관리.
- **Google File System**: 대규모 파일 시스템.
- **BigTable**: 분산 스토리지 시스템.
- **Data Management for Internet-Scale Single-Sign-On**: 대규모 싱글 사인온 데이터 관리.
- **Dremel**: 웹 규모 데이터셋의 대화형 분석.
- **Large-scale Incremental Processing Using Distributed Transactions and Notifications**: 분산 트랜잭션을 통한 대규모 증분 처리.
- **Megastore**: 상호작용 서비스용 확장 가능하고 고가용성 스토리지.
- **Spanner**: 글로벌 분산 데이터베이스.
- **Photon**: 연속 데이터 스트림의 결합.
- **Mesa**: 실시간 데이터 웨어하우징 시스템.

#### 일관성 모델
- 시스템 설계에서 일관성과 가용성 간의 균형 찾기.
- **CAP Conjecture**: 일관성, 가용성, 파티션 허용성의 상충 관계.
- **Consistency, Availability, and Convergence**: 일관성의 상한선.
- **CAP Twelve Years Later**: CAP 이론의 변화.
- **Consistency and Availability**: 일관성과 가용성의 관계.
- **Eventual Consistency**: 최종적 일관성.
- **Avoiding Two-Phase Commit**: 2단계 커밋 회피 방법.
- **2PC or not 2PC, Wherefore Art Thou XA?**: 2단계 커밋의 한계.
- **Life Beyond Distributed Transactions**: 분산 트랜잭션을 넘어선 데이터 관리.
- **If you have too much data, then 'good enough' is good enough**: NoSQL과 데이터 이론의 미래.
- **Starbucks doesn't do two phase commit**: 비동기 메커니즘.
- **You Can't Sacrifice Partition Tolerance**: 파티션 허용성의 중요성.
- **Optimistic Replication**: 느슨한 일관성 접근법.

#### 이론
- 분산 시스템 설계의 중요한 요소를 설명하는 논문.
- **Distributed Computing Economics**: 분산 컴퓨팅의 경제성.
- **Rules of Thumb in Data Engineering**: 데이터 엔지니어링의 규칙.
- **Fallacies of Distributed Computing**: 분산 컴퓨팅의 오류.
- **Impossibility of distributed consensus with one faulty process**: FLP 이론.
- **Unreliable Failure Detectors for Reliable Distributed Systems**: 신뢰할 수 있는 시스템을 위한 실패 감지기.
- **Lamport Clocks**: 분산 시스템에서의 시간 동기화.
- **The Byzantine Generals Problem**: 비잔틴 문제.
- **Lazy Replication**: 분산 서비스의 의미론 활용.
- **Scalable Agreement**: 서비스로서의 순서화.
- **Scalable Eventually Consistent Counters over Unreliable Networks**: 불안정한 네트워크에서의 확장 가능한 카운터.

#### 언어와 도구
- 특정 기술을 사용한 분산 시스템 구축 문제.
- **Programming Distributed Erlang Applications**: Erlang과 OTP를 사용한 분산 애플리케이션 구축.

#### 인프라
- 인터넷에서의 강력한 타이밍 관리 원칙.

#### 스토리지
- **Consistent Hashing and Random Trees**: 일관된 해싱과 랜덤 트리.
- **Amazon's Dynamo Storage Service**: Amazon의 스토리지 서비스.
- **Paxos Consensus**: Paxos 알고리듬 이해.
- **The Part-Time Parliament**: Paxos의 기초.
- **Paxos Made Simple**: Paxos의 간단한 설명.
- **Paxos Made Live**: Paxos의 엔지니어링 관점.
- **Revisiting the Paxos Algorithm**: Paxos 알고리듬 재검토.
- **How to build a highly available system with consensus**: 합의를 통한 고가용성 시스템 구축.
- **Reconfiguring a State Machine**: 상태 머신의 재구성.
- **Implementing Fault-Tolerant Services Using the State Machine Approach**: 상태 머신 접근법을 통한 내결함성 서비스 구현.

#### 기타 합의 논문
- **Mencius**: WAN을 위한 효율적인 복제 상태 머신 구축.
- **In Search of an Understandable Consensus Algorithm**: RAFT 알고리듬의 확장 버전.

#### 소문 프로토콜 (Epidemic Behaviours)
- 소문 기반 통신 프로토콜의 강력함.
- **Astrolabe**: 분산 시스템 모니터링 및 데이터 마이닝 기술.
- **Epidemic Computing at Cornell**: 코넬 대학의 전염병 컴퓨팅.
- **Fighting Fire With Fire**: 무작위 소문을 사용한 확장성 한계 극복.
- **Bi-Modal Multicast**: 이중 모드 멀티캐스트.
- **ACM SIGOPS Operating Systems Review**: 소문 기반 네트워킹.
- **SWIM**: 확장 가능한 약한 일관성 감염 스타일 프로세스 그룹 멤버십 프로토콜.

#### P2P
- **Chord**: 인터넷 애플리케이션을 위한 확장 가능한 피어 투 피어 조회 프로토콜.
- **Kademlia**: XOR 메트릭 기반의 피어 투 피어 정보 시스템.
- **Pastry**: 대규모 피어 투 피어 시스템을 위한 분산 객체 위치 및 라우팅.
- **PAST**: Pastry 위에 구축된 대규모 지속적 피어 투 피어 스토리지 유틸리티.
- **SCRIBE**: Pastry 위에 구축된 대규모 분산 애플리케이션 레벨 멀티캐스트 인프라.

### GN⁺의 정리
- 분산 시스템은 복잡한 문제를 해결하기 위해 사고 방식을 변화시켜야 하는 분야임.
- 다양한 자료와 논문을 통해 분산 시스템의 설계와 구현에 대한 깊은 이해를 제공함.
- 이 목록은 분산 시스템의 다양한 측면을 다루며, 특히 일관성 모델과 지연 시간 문제에 대한 통찰을 제공함.
- 분산 시스템에 관심 있는 개발자나 연구자에게 유용한 자료가 될 수 있음.
- 유사한 기능을 가진 프로젝트로는 Apache Kafka, Apache Cassandra 등이 추천됨.

## Comments



_No public comments on this page._
