Part II. 아키텍처
Patroni 클러스터는 각 노드에 상주하는 Patroni 데몬, 클러스터 상태를 공유하는 DCS(Distributed Configuration Store), 노드 사이를 잇는 REST API 세 요소로 움직인다. 데몬은 매 사이클 DCS의 leader lock을 갱신하거나 감시하고, lock이 만료되면 REST API로 서로를 조회해 새 leader를 뽑는다. lock을 갱신하지 못한 primary는 스스로 물러나며, 이 규칙이 split brain을 막는 뼈대가 된다. 이 Part는 그 순환 구조를 구성 요소, 루프, 저장 데이터, 방어 장치 순으로 따라간다.
- 2.1 전체 구조 — Patroni 데몬·PostgreSQL·DCS·REST API
- 2.2 HA 루프와 leader lock — loop_wait·ttl·lease 갱신·leader race
- 2.3 DCS에 저장되는 것들 — namespace·scope·leader·config·status
- 2.4 split brain 방지와 watchdog — self-demotion·softdog·safety_margin
- 2.5 DCS 장애와 failsafe mode — failsafe_mode·POST /failsafe·전원 응답