Есть ли способ динамически настроить nginx (или другой быстрый обратный прокси)?

Предположим, у нас есть несколько идентичных узлов, которые являются серверами приложений некоторой n-уровневой службы. Предположим, мы используем Apache ZooKeeper для хранения всех конфигураций нашего распределенного приложения. Плюс у нас есть nginx в качестве балансировщика нагрузки и обратный прокси перед этим приложением.

Допустим, мы выполняем команду, которая изменяет данные только на узле 1, и в течение некоторого периода времени узел 2 отличается от узла 1. И мы хотим, чтобы прокси-сервер перенаправлял все эти специальные запросы (для которых нужны эти конкретные данные) на node1, пока вся информация не переместится на node2 и node2 не будет иметь те же данные, что и node1.

Есть ли способ заставить nginx (или другой прокси) читать его конфигурацию из Apache ZooKeeper? Или шире: есть ли способ эффективно переключать конфигурацию прокси на лету? И, конечно же, это должно происходить без (или с минимальным) простоем всей системы, поэтому перезапуск nginx не подходит.

19
задан Dima 24 January 2012 в 06:12
поделиться