Есть кластер Postgres из 7 серверов(6 слейвов, 1 мастер) под управлением patroni. Как лучше разделять запросы к БД на чтение/запись - вешать HAProxy и делать 2 порта - один read-write(master), а другой - read-only(слейвы), или использовать pgbouncer/pgpool?
В качестве пулера соединений рассмотрите использование Одиссея https://github.com/yandex/odyssey
Пулер точно не помешает.
Мы походы в read-only реплики определяем на уровне приложения.