Backend/PostgresSQL
PostgreSQL PGPool Active StandBy Using Docker 개발 환경 구축 - 1
Keun0
2023. 2. 16. 16:21
728x90
반응형
무중단 서비스를 제공하기 위해 시스템을 구축하던 중 PostgreSQL은 Active - Active 모드와 Active -StandBy 모드가 지원된다는 것을 확인하고 구축해보았다.
Active - Standby mode 의 경우 Active 서버는 쓰기/업데이트 가능, StandBy 서버는 읽기만 가능한 상태이다.
시스템 OS
Ubuntu 22.04
개발 환경
PostgreSQL12 + Docker : Primary Server
PostgreSQL12 + Docker : Standby Server
PgPool2
으로 구성 하였다.
구축 테스트 방법은 PgPool2 실행 -> Active 서버(Primary) 실행 -> Standby 서버 실행 -> Active 서버 Down -> 동작 검증 -> 재설정의 순서로 하였다.
우선 PgPool2 를 설치한다
apt update
apt install pgpool2
최신 버전인 4버전으로 설치가 진행 된다.
정상적으로 설치가 완료 되면 아래 명령어로 실행 상태를 확인한다.
systemctl status pgpool2.service
도커를 이용하여 Primary PostgreSQL 서버를 실행한다
version: '3.7'
services:
postgres.primary-srv:
image: postgres:12
restart: alway
environment:
POSTGRES_DB: default_db
POSTGRES_USER: root
POSTGRES_PASSWORD: password
volumes:
- postgresql.primary-srv:/var/lib/postgresql/data
ports:
- 0.0.0.0:5432
logging:
driver: 'json-file'
options:
max-size: '200k'
max-file: '10'
volumes:
postgresql.primary-srv:
도커를 이용하여 Standby PostgreSQL 서버를 실행한다
version: '3.7'
services:
postgres.standby-srv:
image: postgres:12
restart: always
environment:
POSTGRES_DB: default_db
POSTGRES_USER: root
POSTGRES_PASSWORD: password
volumes:
- postgresql.standby-srv:/var/lib/postgresql/data
ports:
- 0.0.0.0:5433:5432
logging:
driver: 'json-file'
options:
max-size: '200k'
max-file: '10'
volumes:
postgresql.standby-srv:
기본적으로 PostgreSQL 과 PgPool2 를 연동하기 위한 설치는 완료 하였다
728x90
반응형