Назад | Перейти на главную страницу

Репликация Postgres 9.1 - принудительный выбор операций для определенного ведомого устройства

Я настроил репликацию postgres stand by, используя 1 мастер и 2 подчиненных.

Ведущее устройство и ведомое устройство 1 расположены в центре обработки данных в США, а ведомое устройство 2 - в центре обработки данных в Лондоне.

Есть ли способ заставить все операции SELECT приложения, в котором запущен лондонский центр обработки данных, всегда использовать slave2, чтобы избежать задержки в сети?

Спасибо, Лукас

На ум приходят несколько способов:

  • Измените имя хоста / IP-адрес, для подключения к которым настроены развернутые в Лондоне приложения, чтобы они подключались к базам данных Лондона.

  • Использовать раздельный DNS чтобы одно и то же имя хоста преобразовывалось в другой IP-адрес для серверов в лондонской сети, чтобы они прозрачно подключались к желаемому серверу Pg

  • Используйте правила маршрутизатора для перезаписи трафика, чтобы лондонские приложения думали, что они общаются с серверами в США, но перенаправлялись на серверы Лондона. Администраторы ваших приложений будут ненавидеть вас за это, если вы это сделаете, поскольку это кошмар для всех, кто не знает, что происходит отладка.

  • Используйте локальный PgBouncer или PgPool-II для перенаправления трафика