Я пытаюсь создать CMS, которую я могу использовать для размещения нескольких сайтов. Я знаю, что в конечном итоге миллион раз заново изобрету колесо с этим проектом, поэтому я думаю о расширении существующей Ruby on Rails CMS с открытым исходным кодом для удовлетворения моих потребностей.
Одной из таких потребностей является возможность запуска нескольких сайтов при использовании только одной кодовой базы. Таким образом, когда я хочу сделать обновление, я могу обновить его в одном месте, и это изменение отражается на всех сайтах. Я думаю, что это можно будет масштабировать, запустив несколько экземпляров приложения.
Я думаю, что я могу использовать домен / поддомен, чтобы определить, какие данные отображать. Например, кто-то переходит на subdomain1.mysite.com, и приложение ищет в базе данных содержимое для subdomain1.
Проблема, которую я вижу, связана с большинством готовых решений CMS, они предназначены только для размещения одного сайта, включая тот, который я хочу использовать. Таким образом, база данных структурирована для работы с одним сайтом. Однако у меня была идея, что я могу преодолеть это, «создав новую базу данных» для каждого сайта, а затем указав, к какой базе данных подключаться, основываясь на домене / поддомене, как я уже упоминал выше.
Я подумываю о размещении этого на Heroku, поэтому мне интересно, какие у меня могут быть варианты. Я не очень знаком с Amazon S3 или Amazon SimpleDB, но я чувствую, что есть какая-то «облачная база данных», которая сделала бы это решение намного более реалистичным, чем создание новой базы данных MySQL для каждого сайта.
Что ты думаешь? Я думаю об этом неправильно? Какой совет вы можете дать в этой области?