Настройка
У меня есть приложение Ruby on Rails, которым я управляю с точки зрения системного администратора.Это приложение установлено в пуле серверов приложений с балансировкой нагрузки.Эти серверы приложений работают под управлением Apache 2 и Passenger 3.0.Файлы приложений хранятся на виртуальном диске, поскольку операции ввода-вывода на серверах приложений смехотворно медленны.
Конфигурация базы данных
Бэкэнд-база данных хранится в паре кластеров MySQL (активный / пассивный).Несколько клиентов используют наше приложение, и у каждого есть отдельная база данных MySQL.
В настоящее время у нас есть X копий приложения (X - количество клиентов).Разница между каждой копией заключается только в файле database.yml.Поскольку мы используем виртуальные диски, дисковое пространство стоит дорого, и я думаю, что должен быть лучший способ решить эту проблему.
Потенциальные решения
В идеале, я бы хотелбыть в состоянии указать database.yml в виртуальном хосте Apache, но это не представляется возможным с моей текущей настройкой.Файл database.yml будет присоединен к имени домена, к которому осуществляется доступ.Если есть способ сделать это, это было бы действительно здорово.
Другой подход - создать множество символических ссылок вместо хранения копий приложения.Я думаю, это звучит не слишком плохо, но мне не очень нравится это решение.
Как бы вы подошли к этой проблеме и решили ее?
Если вам нужна дополнительная информация, просто спросите иЯ буду рад ответить.Я не уверен, относится ли это к SF или SO, но пахнет больше SO для меня.