postgresql 맛보기#3 (부하분산)

별바람·2023년 2월 1일

상용 환경에서 DB 아키텍처를 설계/구성할 때, '고가용성'에 대한 고려는 필수일 것이다. 고 가용성(HA)은 장애 상황 발생 시 대응(Fail Over/Fail Back 등)이라는 관점도 있지만, 사전에 장애 가능성을 최소화(적절한 부하 분산 등)한다라는 접근법도 고려해야 한다.
PostgreSQL를 상용 DB로 활용 시, 부하 분산 아키텍처를 구성하는데 활용할 수 있는 옵션들을 살펴보고자 한다.

  • pgpool II 활용 방식
    postgresql 특화 오픈소스 미들웨어인 pgpool II를 활용한 방식이다. pgpool은 postgresql 서버와 client 사이에서 'Connection Pool관리,로드밸런싱(read 부하분산)'역할을 지원해 준다.

    EDB 소개 자료: pgpool II 구성

보통 PGPool II를 활용한 구성은 위와 같이, PGPool용 노드를 PostgreSQL DB와 별도 클러스터(master/slave)로 구성하는 것 같다.

PGPool II 공식 홈

하지만 아래 그림과 같이 PostgreSQL DB 서버2대에 단촐하게 구성하는 방식도 공식홈에 소개가 되어 있다.

PGPool공홈에 소개된 최소 단위 구성(서버2대,Master/Slave)

  • 로드밸런서 별도 구성을 통한 방식
profile
cloud분야에 종사하는 it인 입니다

0개의 댓글