Distributed System 2

분산 코디네이터와 분산 알고리즘(2)

Watcher먼저 zookeeper Watcher에 대해 알아보자watcher는 leader election에서 가장 핵심이 되는 기능이며, 데이터가 변경되었을 때, 해당 watch를 설정한 클라이언트에게 보내지는 일회성 트리거(one-time-trigger)로 정의하고 있음즉, zookeeper는 주기적으로 확인하는 polling 방식이 아니라 event기반의 wathcer방식을 사용하고 있음 Watcher의 특징one-time-trigger데이터가 변경되어 이벤트가 클라이언트에게 전송되면, 그 watcher는 즉시 삭제됨순서 보장이벤트는 비동기적으로 클라이언트에게 전송되며, 클라이언트는 변경된 데이터를 실제로 보기 전에, watch이벤트를 받게 된다는 것을 보장함즉, 변경된 것을 먼저 파악하고, 노드..

Distributed System 2026.02.02

분산 코디네이터와 분산 알고리즘(1)

분산 코디네이터분산 시스템 내의 여러 노드(서버)들이 서로 엇갈리지 않게 관리하고 조율하는 시스템(소프트웨어)을 말함주요 기능리더 선출분산 락 (동시에 하나의 서버만 특정 자원에 접근하도록 제어)서비스 디스커버리 (IP와 포트 정보를 관리해 통신 서비스를 지원)대표적인 도구에 ZooKeeper, k8s의 etcd... 가 있음 Master-Workers 아키텍처분산 시스템을 구축할 때 마주하게 되는 난제들이 있음1. 리더 선출의 어려움2. 수 많은 노드로 이루어진 대규모 클러스터에서, 누가 리더인지에 대해 모두가 동의 하는 과정은 훨씬 더 어려움3. 기본적으로 각 노드는 자기 자신만 알기에, service registry나 service Discovery 기능이 필수적임4. Failure Detectio..

Distributed System 2026.02.02