В нашем магазине мы выбрали repmgr и pgbouncer вместо pgpool. У repmgr есть несколько хороших инструментов для настройки и обслуживания кластера реплицированных серверов баз данных. В нашем случае 1 мастер и 2 подчиненных (один отказоустойчивый и один тест производительности чтения в реальном времени, который может стать восстановлением после отказа нового главного устройства). У pgpool есть проблемы с изменениями в конфигурации, в большинстве случаев вам нужно перезапустить службу, и поэтому у вас есть некоторое время простоя. Это проблема, когда вам нужна доступность 24x7x365.
repmgrd (deamon) помогает выбрать нового мастера после перехода на другой ресурс, вам действительно не нужна ситуация с раздвоенным мозгом. У нас есть один виртуальный IP-адрес для главной базы данных, базы данных, которая является главной на тот момент. Когда другой сервер становится главным, это единственный сервер, использующий этот адрес. Каждый сервер базы данных также имеет свой собственный IP-адрес для запросов только для чтения.
repmgr поддерживается теми же парнями, которые изначально создавали потоковую репликацию, поэтому они знают, о чем говорят. Версия 2.0 скоро будет выпущена.
Приготовьтесь к худшей ситуации, проведите серьезное тестирование, потянув за вилки питания и сети! Когда что-то идет не так, многие другие вещи уже пошли не так и будут кусать тебя в спину, когда ты не можешь себе это позволить.
Репликация - это одно, исправное восстановление после некоторых серьезных проблем - другое.