Recherche rapide : Avancée

 

Vous êtes ici : Accueil > Dossiers > Installation de TYPO3 > Configuration matérielle recommandée > Configuration matérielle recommandée (2)

2.2 Clustering

La mise en place d'un système de clustering consiste à utiliser plusieurs machines pour servir les pages web et accéder aux services d'administration. Il est en effet primordial de pouvoir compter sur l'appui d'autres machines lorsqu'une défaillance est détectée pouvant nécessiter un arrêt prolongé.  Ainsi, d?autres machines prennent le relai.

2.1.1 Clustering de basculement

Dans cette architecture, une seule machine s'occupe de délivrer les pages. Si elle tombe en panne, une machine de secours prend immédiatement le relai. Ce schéma est plus adaptée à une banque de données avec un serveur particulièrement puissant en frontal, monoprocesseur et couteux.

2.2.2 Clustering avec répartition de charge

Cette architecture se caractérise par n serveurs chargés de répondre aux différentes requêtes. Si le clustering est matériel, le gestionnaire de charge va répartir les requêtes en fonction de règles préétablies ou algorithmes.  Ce type d'architecture est particulièrement bien adapté aux serveurs Web pour répartir la charge de façon uniforme (symétrique) ou en fonction d'un coefficient déterminé par un administrateur (asymétrique).

Round Robin est par exemple un répartiteur de charge efficace. Notez cependant que les serveurs doivent posséder les mêmes capacités de traitement. Je vous invite à consulter le site de Microsoft France sur le système de répartiteur de charges à mettre en place pour TYPO3.

2.2.3 La gestion des sessions

Les sessions peuvent éventuellement poser un problème lorsque les données sont recopiées d'un serveur à un autre. Si la base de données n'est hébergée que sur un seul serveur, il n'y a pas de problème de ce coté là et concernant TYPO3, les sessions sont activées principalement dans la partie "administration" (Backend). Dans le cas contraire, il aurait été judicieux de procéder à un transfert asynchrone des états de session pour conserver la session si l?utilisateur est redirigé vers un autre serveur pendant sa navigation.

3. Solution proposée

3.1 Justification

Système de Cluster - 2 machines en RAID 5 avec synchronisation entre les deux
+
Redondance disque

Prévoir une machine dédiée pour la base de données MySQL. La perte de performance MySQL est de l'ordre de 7.5% lorsque les données ne sont plus transmises via un socket (Unix) mais par une connexion réseau TCP/IP, ce qui est négligeable. L'avantage consiste à séparer Apache et MySQL pour réduire de part et d'autres les ressources consommées.

Typo3 fait appel à un cache chargé de recueillir les pages générée pour un affichage plus rapide. Les pages de contenu sont essentiellement situées dans la base MySQL. Il existe également un cache au niveau du serveur Apache mais celui concerne surtout des extensions, des images (thumbnails générés dynamiquement par ex) ...

Double protection

Evolutive

Il est toujours possible de rajouter une machine si la charge devient trop importante pour les deux serveurs.

 Il faudra néanmoins :

Remarques sur les outils de monitoring :

Si vous recherchez un outil simple d'utilisation, vous pouvez vous tourner vers Nagios. Cet outil de monitoring réseaux vous permettra de surveiller l'état de vos services sur vos serveurs Web. Notez que Nagios stocke ses données soit dans des fichiers textes, soit dans une base de données. On peut même greffer des add-ons pour faciliter davantage la procédure de configuration et d'administration.  Oreon le fait très bien :)