- [Shorts] 분산 컴퓨팅에서의 안정성과 라이브니스를 충족하는 방법2025년 02월 10일
- 31514
- 작성자
- 2025.02.10.:55
A 노드 B 노드가 있다고 가정해보자.
어떤 사용자는 TC(Transaction Coordinator)에게 자신이 하고자하는 메시지를 보낼 수 있다.
메시지를 받은 TC는 A 노드와 B 노드에게 사용자가 하고자 하는 일을 전달하고 확인 메시지를 받을 수 있다.
이런 상황에서 TC 또는 노드들에 장애가 발생하면 어떻게 될까?
예를 들면, TC가 A와 B에게 메시지를 보냈지만 A에게 메시지를 전송하자마자 알 수 없는 이유로 TC에 장애가 발생했다면?
그럼 B는 A와 달리 어떤 메시지도 받지 못하게 된다.
이런 상황을 안정성에 위반한다고 할 수 있다.
다른 예로, 사용자가 TC에게 하고자 하는 일을 전달했지만 TC에 장애가 발생하여 A 노드, B 노드 모두 무한정 기다리는 상황이라면?
이런 상황은 라이브니스에 위반한다고 볼 수 있다.
어떻게 하면 이런 상황을 해결할 수 있을까?
정답은 WAL과 노드들과의 통신이다.
WAL은 Write - Ahead Log의 약자인데, 특정 행위를 하기 전에 각 디스크에 Log를 기록해두는 것을 말한다.
이를 통해 시스템에 장애가 발생하도 재부팅 후 로그를 참조하면 무엇을 하고자 했는지 알 수 있다.
노드들과의 통신은 라이브니스를 해결해준다.
이러한 방법을 2단계 커밋 프로토콜이라고 한다.
'기타 > 출퇴근 공부 간단 정리' 카테고리의 다른 글
[Shorts] 프로그래밍 언어의 탄생 (0) 2025.02.24 [Shorts] 윈도우가 디스크에 파일을 저장하는 법 (0) 2025.02.12 [Shorts] 스트로우맨 프로토콜 (0) 2025.02.05 [Shorts] 분산 컴퓨팅의 정의 (0) 2025.02.04 [Shorts] Stored Function (0) 2025.01.23 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)