Pgbouncer와 pgpool II 비교

안녕하세요,

pgbouncer 대신 pgpool II를 Discourse와 함께 사용해 본 경험이 있는 분이 계신지 궁금합니다. 있다면, 지금까지 사용感は 어떠셨나요?

팀 입장에서는 어떤 시점에 pgpool II를 고려할 생각이 있으신가요? 있다면 그 이유는 무엇인가요?

감사합니다.
Ismael

pgpool II에는 트랜잭션 풀링 기능이 없습니다. 트랜잭션 풀링이 없으면 대규모 호스팅 환경에서 그 가치가 극히 제한적이며, 단지 복잡성만 추가할 뿐입니다.

표준적인 “셀프 호스팅” Discourse 환경에서는 활성 연결 30~60개를 처리하는 것조차 버거울 수 있지만, PostgreSQL은 이를 처리하는 데 전혀 문제가 없습니다. 따라서 설정의 복잡성을 더하는 연결 풀러는 필요하지 않습니다.

샘, 정말 감사합니다. 맞습니다, 연결 수가 많지 않다면 그렇게 하는 것이 의미가 없을 수 있겠네요. 또한 트랜잭션 풀링을 고려할 때, 이 경우 승자는 하나뿐입니다.

그러나 제가 아는 한, pgbouncer는 HA(고가용성)를 제공하지 않는 반면 pgpool II는 제공합니다. pgbouncer를 pgpool 앞에 배치하여 이러한 기능을 허용하는 것은 어떻게 생각하시나요? Discourse에 잘 맞는 HA 접근 방식에 대한 권장 사항이 있을까요?

Discourse는 전역 설정을 사용하여 기본적으로 HA를 제공합니다.

참고: GitHub - discourse/rails_failover · GitHub

전역 설정은 여기서 확인해 보세요: discourse/config/discourse_defaults.conf at main · discourse/discourse · GitHub

HA 모드 또는 막대한 양의 연결이 필요한 모드로 2개의 pgbouncer를 구성하면 됩니다.