본문 바로가기

반응형

발로 그리는 분산 시스템

(2)
Two Phase Commit(2PC) 들어가며.. "Two Phase Commit"(이하 2PC)이란 독립적인 머신에서 구동되는 프로세스들의 분산 트랜젝션 보장을 위한 프로토콜이다. '트랜잭션(transaction)'이란 용어는 주로 DB에서 많이 다루어지는데, 여러 개의 쿼리 실행을 하나의 작업 단위로 보고 모든 쿼리가 성공하거나, 그 중 하나라도 실패하면 모든 쿼리를 취소하는 작업 단위를 의미한다. 이것을 분산 시스템으로 옮겨 오면 독립적인 머신에서 구동 되는 프로세스들에게 동일한 작업들을 적용함에 있어서 모든 프로세스들에게 적용되거나 반대로 아무 프로세스에게도 적용되지 않는 작업단위를 의미한다. 예를 들어 분산 시스템 내에 A, B, C 프로세스가 구동 되고 있다고 가정하자. 프로세스 A에서 발생한 업데이트가 B, C에 도 동일하게 적..
Election - Bully Algorithm 용도 분산 시스템에서 특정 1개 프로세스를 coordinator로 지정하는 알고리즘. 여기서 coordinator는 leader라고도 불리며 클라우드 컴퓨팅에서 분산 시스템의 각 노드들에게 작업을 나눠 할당 해준다던지, 각각의 노드들 작업을 완료하고 결과를 돌려주면 취합하는 것과 같은 중앙 집중형 작업을 하는 노드다. 원리 각 프로세스들에게 고유한 아이디를 부여하고, 가장 큰 아이디를 가진 프로세스가 항상 coordinator 역할을 하도록 한다. 장점 여러 개의 분산된 (서버)프로세스 중 coordinator 역할을 할 프로세스를 동적으로 선정 할 수 있다. Coordinator (서버)프로세스 장애시 설정의 변경, 시스템 재시작 필요 없이 다른 프로세스가 해당 역할을 넘겨 받을 수 있다. 단점 동적인..

반응형