Construire l'architecture CMS - centralisée ou non - php, système de gestion de contenu

I have a dedicated server and I"m in need for construire une nouvelle version de mon CMS personnel PHP5 pour mes clients. Mettant de côté des questions si je devrais envisager d'utiliser l'open source, j'ai besoin de vos opinions concernant l'architecture CMS.

Première approche (puisque le serveur est complètement enmon contrôle) consiste à créer un système centralisé pouvant prendre en charge plusieurs sites à partir d’un seul panneau d’administration. L'idée de base est que je suis capable de me connecter en tant que super utilisateur, de créer un nouveau site (techniquement, il crée une nouvelle racine Web, une nouvelle base de données et peut-être d'autres choses encore), d'assigner des modules et des plug-ins à un client spécifique ou d'en développer de nouveaux si nécessaire. Si le client se connecte à ce panneau, il / elle voit et ne peut gérer que le contenu de son site.

J'ai vu un tel système (c'était une construction personnalisée),c’est très agréable d’apporter des corrections de bugs et les nouvelles fonctionnalités affectent instantanément tous les clients sans qu'il soit nécessaire de corriger tous les CMS qui peuvent également se trouver sur un autre serveur d’hébergement ...

L'aspect négatif que je peux voir est l'évolutivité - et si je devais ajouter un deuxième serveur, comment puis-je les fusionner pour ne conserver qu'un seul cœur?

La seconde est classique - CMS autonome pour chaque client.

Comment vas-tu et pourquoi?

Merci pour votre temps.

Réponses:

2 pour la réponse № 1

If you were to have one central system for all l’évolutivité pourrait devenir plus facile. Vous pouvez avoir un seul gros serveur de base de données et plusieurs serveurs Web identiques (probablement derrière un équilibreur de charge). Ainsi, vous n’avez pas à vous soucier de la division des clients entre différents serveurs. Vos ressources sont mises en commun si un client a une journée avec un trafic important, il peut être occupé par plusieurs serveurs, plutôt que de mettre à genoux un serveur (et tous les autres sites clients).

Vous pouvez faire en sorte que les sessions PHP fonctionnent sur plusieursserveurs en utilisant des "sessions persistantes" sur votre configuration d'équilibrage de charge ou en faisant en sorte que PHP stocke les données dans un endroit accessible à tous les serveurs (par exemple une base de données).

Conserver les fichiers de l’application Web synchronisés dans une base de code ne devrait pas être trop difficile. Il existe des outils tels que rsync que vous pouvez utiliser pour vous aider.


1 pour la réponse № 2

Cela dépend vraiment des types de sites.Cela dit, je vous suggérerais d’utiliser un logiciel de contrôle de version pour gérer plusieurs installations. En pratique, cela peut vous donner la même chose qu'avec une approche centralisée, mais vous donne la liberté de différer la mise à jour d'un seul (ou de plusieurs) sites.


questions connexes
Menu