Изграждане на CMS архитектура - централизирана или не-php, система за управление на съдържанието

Имам специален сървър и имам нужда отизграждане на нова версия на моя личен PHP5 CMS за моите клиенти. Като оставя настрана въпроси дали трябва да обмисля използването на отворен код, имам нужда от вашите мнения относно CMS архитектурата.

Първи подход (тъй като сървърът е напълно вмоят контрол) е да се изгради централизирана система, която може да поддържа множество сайтове от един панел за администриране. Основната идея е, че мога да влизам като супер потребител, да създавам нов сайт (технически това създава нов уеб корен и нова база данни и може би някои други неща), назначавам модули и приставки за конкретен клиент или разработвам нови, ако е необходимо. Ако клиентите влизат в този панел, той вижда и може да управлява само съдържанието на сайта им.

Виждал съм такава система (беше по поръчка изграждане),много хубаво е да коригирате грешки и новите функции засягат незабавно всички клиенти, без да е необходимо да се свързват всяка CMS, която може да бъде и на друг хостинг сървър ...

Отрицателният аспект, който виждам, е мащабируемост - какво, ако ще трябва да добавя втори сървър, как да ги обединя, за да поддържам едноядрен.

Второто е класическо - самостоятелен CMS за всеки клиент.

Какъв път ще минете и защо?

Благодарим ви за вашето време.

Отговори:

2 за отговор № 1

Ако трябваше да имате една централна система за всичкиклиенти, мащабирането може да стане по-лесно. Можете да имате един голям сървър на база данни и няколко идентични уеб сървъра (вероятно зад балансиращо натоварване) и по този начин не трябва да се притеснявате от разделянето на клиентите на различни сървъри. Вашите ресурси се обединяват, така че ако един клиент има на ден с интензивен трафик той може да бъде поет от няколко сървъра, а не да изправя един сървър (и всички сайтове на други клиенти на него) на колене.

Можете да накарате PHP сесиите да работят в множествосървъри или чрез използване на „лепкави сесии“ на вашата конфигурация за балансиране на натоварването или чрез получаване на PHP за съхраняване на данните някъде достъпни за всички сървъри (например база данни).

Поддържането на файловете на уеб приложенията, синхронизирани с една кодова база, не би трябвало да е твърде трудно, има инструменти като rsync, които бихте могли да използвате, за да ви помогнат.


1 за отговор № 2

Наистина зависи от видовете сайтове.Въпреки това бих предложил да помислите да използвате софтуер за контрол на версиите за управление на множество инсталации. На практика това може да ви даде същото като при централизиран подход, но ви дава свободата да отлагате актуализацията на един (или редица) сайтове.


Свързани въпроси
Най - известен