Несколько database.yml, но одно приложение

Установка

У меня есть приложение Ruby on Rails, которым я управляю с точки зрения системного администратора. Это приложение установлено в пуле серверов приложений с балансировкой нагрузки. Эти серверы приложений работают под управлением Apache 2 и Passenger 3.0. Файлы приложений хранятся на виртуальном диске, потому что операции ввода-вывода на серверах приложений до смешного медленны.

Конфигурация базы данных

Внутренняя база данных хранится на паре кластеров MySQL (активный / пассивный). Наше приложение используют несколько клиентов, и у каждого из них есть отдельная база данных MySQL.

В настоящее время у нас есть X копий приложения (X - количество клиентов). Разница между каждой копией - это просто файл database.yml. Поскольку мы используем ramdisks, «дисковое» пространство стоит дорого, и я думаю, что должен быть лучший способ решить эту проблему.

Возможные решения

В идеале, я хотел бы иметь возможность указать базу данных .yml на виртуальном хосте Apache, но это невозможно с моей текущей настройкой. Database.yml будет прикреплен к доступному доменному имени. Если бы есть способ сделать это, это было бы действительно фантастически.

Другой подход заключался бы в создании большого количества символических ссылок вместо хранения копий приложения. Думаю, это звучит неплохо, но я не Мне действительно нравится это решение.

Как вы подойдете к этой проблеме и решите ее?

Если вам нужна дополнительная информация, просто спросите, и я с радостью отвечу. Я не уверен, принадлежит это SF или SO, но для меня это больше ТАКОЕ запах.

1
задан Antoine Benkemoun 13 October 2010 в 14:18
поделиться