У нас есть существующее веб-приложение, которое использует Postgresql 9.0 и PGPool-ii. Я подумываю о переносе нашей инфраструктуры на Amazon EC2, и меня вдохновила следующая ссылка: http://aws.typepad.com/aws/2008/12/running-everything-on-aws-soocialcom.html , использующий аналогичную архитектуру.
Поскольку Amazon RDS не поддерживает PGSQL, мы собираемся использовать PGPool-ii для балансировки нагрузки запросов на разных серверах БД и обеспечения их синхронизации между собой.
Поэтому мы планируем развернуть 3 интерфейсных веб-сервера, которые будут содержать следующее: - Веб-сервер + PHP-код - PGPool-ii
Тогда у нас будет 2 сервера баз данных на отдельных экземплярах Amazon только с PGSQL. Эти 2 сервера PG будут использоваться пулами PGPools, расположенными на трех внешних серверах.
Мой вопрос в том, что я не знаю, достаточно ли надежно это решение, поскольку несколько PGPool будут обращаться к нескольким серверам PGSQL. Большинство примеров PGPool демонстрирует единственный PGPool, который использует N базовых серверов PGSQL. Является ли хорошей практикой развертывание экземпляра PGPool на каждом веб-сервере?
Если нет, существует ли какая-либо другая / лучшая архитектура, чтобы избежать использования SPOF с помощью Amazon?
Большое спасибо за ваши ответы.