Где лучше устанавливать pgbouncer (или другой балансёр) для нагруженной системы.
Для меня не очевидно расположение балансировщика нагрузки для PostgreSQL. Есть установки с 2 или 3 серверами (master-standby), обёрнутые в repmgr или stolon, т.к количество ядер не бесконечное хотелось бы пустить трафик через балансёры, но встал вопрос куда их вынести для обеспечения отказоустойчивости всей системы.
Сейчас 2 варианта:
1) на стороне сервера (вместе с postgresql стоит и балансёр на соседнем порту)
напрягает, что при отвале сервера балансер тоже выйдет из строя и пользователей откинет на время переезда VIP
2) на отдельном сервере (но тут дорого по ресурсам, придётся ставить 2 сервера и обеспечивать для них HA)
pgbouncer не имеет отношения к балансировке нагрузки. Вообще. Это pooler. В норме в transaction mode.
Типично pgbouncer ставится на тех же хостах что и база, каждый смотрит только в свою локальную базу. Балансировка по баунсерам равнозначных реплик - что-то вроде haproxy или приложением.