기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Patroni 및 등
자동 장애 조치 관리를 통해 HA를 제공하기 위한 솔루션으로 Patroni
또한 Patroni는 PostgreSQL 서비스의 상태와 각 DB 인스턴스 또는 노드의 역할을 확인하는 APIs를 제공합니다. 각 DB 인스턴스에 Patroni를 설치해야만 etcd(분산 구성 스토어)와 함께 사용할 수 있습니다.
기본적으로 Patroni는 비동기 복제를 위해 PostgreSQL을 구성합니다. 복제 방법 선택은 비즈니스 고려 사항에 따라 달라집니다. Patroni는 구성이 매우 용이하므로 HA를 설정하는 데 가장 좋은 도구 중 하나입니다. 다음은 Patroni 사용의 몇 가지 이점입니다.
-
다양한 복제 모드(동기식 및 비동기식) 간에 쉽게 전환할 수 있습니다.
-
Patroni에는 풍부한 REST API가 있습니다. Patroni는 자체적으로이 API를 사용하여 HAProxy
또는 다른 로드 밸런서를 사용하여 HTTP 상태 확인을 수행하여 리더 레이스 중에 장애 조치를 수행합니다. -
Patroni는 클러스터 관리에서 일시적으로 단계적 축소하면서 분산 구성 저장소(DCS)에 클러스터 상태를 유지해야 합니다. 예를 들어 수동 유지 관리 기간 중에는 장애 조치가 발생하지 않도록 할 수 있습니다. Patroni는 원치 않는 가동 중지를 방지할 수 있도록 일시 중지 및 재개 명령을 제공합니다.
-
분할 뇌 문제를 방지하려면 Patroni는 리더 키가 DCS에서 만료된 후 PostgreSQL이 트랜잭션 커밋을 수락하지 않도록 해야 합니다. 또한 Patroni는 분할 뇌 문제를 방지하기 위해 Watchdog과 같은 디바이스를 지원합니다. 분할 뇌 문제 및 Watchdog에 대한 자세한 내용은 Patroni 설명서의 Watchdog 지원을
참조하세요.
아키텍처
다음 다이어그램은 Patroni 및 등을 사용하여 Amazon EC2에서 온프레미스 PostgreSQL 데이터베이스에 대한 HADR을 설정하기 위한 아키텍처를 보여줍니다.

이 다이어그램은 다음 워크플로를 보여줍니다.
-
EC2 인스턴스를 생성합니다.
-
PostgreSQL 데이터베이스를 설치합니다.
-
EC2 인스턴스에 Patroni를 설치하고 구성합니다.
-
Network Load Balancer를 생성하고 구성합니다.
-
HA를 가져오도록 각 PostgreSQL 데이터베이스를 etcd (patroni용)로 구성합니다.
고려 사항
마이그레이션을 시작하기 전에 Patroni를 사용하여 다음 사항을 고려하는 것이 좋습니다.
-
사용자는 Patroni를 사용하려면 PostgreSQL 관리 및 DCS 전문 지식이 있어야 합니다.
-
Patroni에는 가파른 학습 곡선과 선택할 수 있는 다양한 구성 옵션이 있습니다.
-
Patroni 전용 추가 포트가 있어야 합니다.