아키텍쳐19 [강의 정리] Distributed System 5.2: Quorums (정족수) # 강의 영상 정리 이 강의의 시작에서 얘기 했던 것과 같이 replication 은 시스템의 신뢰도를 향상시키는데 많이 유용합니다. 여러개의 replica 가 있을 때 하나의 replica 가 고장났을 때, 남은 하나가 이어서 연산을 진행 시킬 수 있기 때문입니다. 고장이 났다는건, 하드웨어 요소일 수도 있고 네트워크 문제일 수 있고, 소프트웨어 업데이트 등의 계획된 작업들 때문일 수도 있습니다. 하지만, 그 replication 을 정확히 어떤 식으로 구현했냐에 따라 시스템의 안정성에 큰 영향을 끼칩니다. fault tolerance 를 제외 하고는, 여러개의 replica 를 가진다는 것은 오히려 안정성을 안좋게 만듭니다. 더 많은 replica 를 가질 수록 각 replica 에 오류가 생길 확률.. 2023. 3. 31. [강의 정리] Distributed Systems 5: Replication # 강의 영상 https://www.youtube.com/watch?v=mBUCF1WGI_I&list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB&index=15 정리 이제 우리는 "Replication" 문제에 대해서 이야기할 때가 되었습니다. "replication" 은 "replica" 라고도 하는, 동일한 데이터를 여러 노드에 복사해 저장하는 방식을 의미합니다. Replication 은 분산 시스템, 분산 파일 스토리지 등에 거의 기본 특징으로 자리잡고 있는데요, 우리는 이 replica 매커니즘을 이용해서 "fault tolerance" 를 만들어 내기도 합니다. 즉, 하나의 노드가 망가지면, 동일한 데이터가 저장된 노드에서 그 역할을 대신 수행하며 장애를 대응하는 것이죠. *.. 2023. 3. 29. [강의 정리] Distributed System 4: Broadcast protocols and logical time # 강의 영상 정리 이번 4 장에서는 여러 참여 노드들에 메시지를 보내는 방식인 "broadcast protocols(multicast protocols)" 방식에 대해서 알아볼 것입니다. 실 환경에는 여러 broardcast protocol 들이 존재하는데, 이 방식 들은 여러 노드 들에 메시지를 보낸다는 컨셉은 동일하지만 어떤 식으로 메시지를 정렬 할 것인가 에 대한 차이점이 존재합니다. 그리고 우리는 바로 이전 글에서 time 을 기준으로 메시지를 정렬하는 방법에 대해서 살펴보았습니다. 즉, 이번 장에서는 분산 시스템에서 clock 을 통해 메시지를 추적하는 방안에 대해서 조금 더 깊게 파고들어 보겠습니다. Logical time clock 을 구분짓는 큰 부분으로 Logical 과 physical.. 2023. 3. 22. [강의 정리] Distributed System 3.3: Causality and happens-before # 강의 영상 정리 이전 까지 분산 시스템의 "타이밍", "시간 동기화" 관련된 문제 들에 대해서 살펴 보았습니다. 이번 장에서는 그래서 어떤 식으로 분산 시스템에서 발생한 사건을 시간 순서대로 정렬시킬 것인지에 대해서 알아보도록 하겠습니다. 예를 들어서, 3 개의 서버 A, B, C 가 있을 때 아래 그림과 같은 상황이 있다고 해봅시다. 상황은, A 가 m1 의 발화를 하고, 그 답변을 들은 B 가 m2 의 응답을 했다고 할 때, C 에게 전송 되는 순서가 네트워크 문제 등으로 바뀌었다고 할 때 C 는 어떤 것이 먼저 온 것인지 확실히 알 수 있을 까요? 위의 예제는 보다 일상 생활에서 일어날 수 있는 상황이었지만, 컴퓨터 프로세스 안에서 일어날 수 있는 예시로 다시 해석해보면 여기서 m1 은 특정 데.. 2023. 3. 21. 이전 1 2 3 4 5 다음