토토 꽁 머니 v1.0 출시 발표 - 간편한 PostgreSQL 클러스터 설정

게시일2023-09-25작성: Stormatics
관련 오픈 소스

토토 꽁 머니 1.0의 일반 출시를 발표하게 되어 기쁘게 생각합니다. 이 자동화된 도구는 3노드 클러스터 설정 프로세스를 간소화하여 사용자가 PostgreSQL에서 고가용성을 훨씬 더 쉽게 설정하고 관리할 수 있게 해줍니다.

우리는 PostgreSQL 클러스터 구성이 복잡하고 시간이 많이 걸리는 작업이라는 것을 알고 있습니다. 이것이 바로 프로세스를 더 빠르고 효율적으로 만드는 데 도움이 되도록 토토 꽁 머니를 설계한 이유입니다.

주요 기능

구성 관리

기본, 대기 및 pgpool 노드에 대해 Ansible 플레이북을 실행하는 Python 래퍼 스크립트를 사용하여 구성 관리를 간소화했습니다. 인벤토리 및 변수 파일은 런타임 시 동적으로 생성됩니다. 또한 pg_cirrus는 기본 5432가 아닌 포트에 PostgreSQL 데이터베이스 서버를 설정할 수 있습니다.

로드 밸런싱

우리는 pgpool을 사용하여 PostgreSQL 클러스터 내에서 적절한 로드 밸런싱을 보장했습니다. 즉, WRITE 요청은 기본 PostgreSQL 서버로 이동하고 READ 요청은 대기 PostgreSQL 서버로 이동합니다.

자동 장애 조치

기본 노드가 실패하면 대기 노드 중 하나가 자동으로 새 기본 노드로 승격됩니다. 새로 승격된 기본 노드도 실패하면 세 번째 노드가 승격되어 읽기 및 쓰기 요청을 모두 처리합니다.

사용자 경험

더 나은 사용자 경험을 위해 pg_cirrus에는 런타임에 사용자로부터 구성 세부 정보를 가져오는 명령줄 인터페이스가 있습니다. 또한 사용자에게 conf.yml.in, Vault.yml.in 및 Inventory.in 템플릿 파일을 제공했습니다. 사용자는 /var/log/pgpool_logs에 저장된 pgpool 로그를 볼 수도 있습니다. 잘못된 입력을 방지하기 위해 pg_cirrus에서 예외 처리가 사용되었습니다. 특정 플레이북 실행 중에 pg_cirrus가 실패하면 나머지 플레이북은 실행되지 않고 pg_cirrus가 정상적으로 종료됩니다.

복제

pg_cirrus에서는 pg_basebackup을 사용하여 물리적 복제가 설정됩니다. 기본 노드의 모든 데이터는 대기 노드에 복제됩니다. 기본 노드가 설정되면 대기 노드에 대해 기본 노드에 복제 슬롯이 생성됩니다. 장애 조치 후 대기 노드가 새 기본 노드로 승격되면 새로 승격된 기본 노드에 복제 슬롯이 생성되고 나머지 대기 노드는 이 새 기본 노드에서 계속 복제됩니다.

보안

토토 꽁 머니를 안전하게 만들기 위해 비밀번호는 앤서블 볼트를 사용하여 저장됩니다. 클러스터의 모든 노드는 동일한 서브넷으로 제한되는 반면 pgpool 노드만 비밀번호를 사용하여 서브넷 외부에서 액세스할 수 있습니다. 기본 및 대기 노드는 비밀번호를 사용하여 클러스터 내에서만 액세스할 수 있습니다.

링크

토토 꽁 머니를 시작하는 데 도움이 되도록 다음 리소스를 제공했습니다.

Stormatics 정보

Stormatics는 PostgreSQL에 대한 전문 서비스를 제공합니다. 우리의 임무는 기업이 미션 크리티컬 데이터를 위해 PostgreSQL을 안정적으로 확장할 수 있도록 돕는 것입니다.