Je me pose des questions sur le fonctionnement des plateformes d'héberment
mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être :
- plusieurs serveurs web en frontal (en round robin DNS)
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs
- dans les scripts PHP, on attaque les serveurs MySQL sur « localhost » ...
Quel mécanisme permet aux différents serveurs web de servir les même sites
(éventuellement avec des sessions stockées côté serveur) de façon
transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est
immédiatement disponible sur tous les serveurs web frontaux ... Un
mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le
nombre de frontaux ?
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des
serveurs web ?
Tout eclaircissement sera le bienvenu. D'avance, merci.
--
Olivier Le Cam
Je me pose des questions sur le fonctionnement des plateformes d'héberment mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être : - plusieurs serveurs web en frontal (en round robin DNS) Un *vrai* load-balacing c'est de l'Altéon (appliance rezo) ou du fait
maison avec LVS. Le roundrobbin c'est la solution simple et qui ne tient pas compte de la charge des serveurs (nbre de connexions).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs Ouais pourquoi pas.
- dans les scripts PHP, on attaque les serveurs MySQL sur « localhost » ... Non, il préférable d'avoir des serveurs SQL dédiés dans le backend mais
c possible.
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
Le serveur NFS stocke toutes les données envoyées par le FTP. A partir de la les N frontaux Webs viennent chercher les données pour les publier sur le Net. Pourquoi N frontaux (PHP) parce que le PHP ca consomme du CPU et qu'il faut plusieurs machines pour servir les X millions de pages des clients (aussi mal codées qu'elles soient ;). Le fait de mettre plusieurs frontaux Web permet donc de supporter la charge. Si un jour tu sens ta plate-forme chargée, tu rajoutes Y serveurs pour aider les N serveurs en place (en n'oubliant pas de les rajouter dans le load-balancing). Cela s'appelle l'échelonnabilité (scalabily). Tu te doutes que le NFS est le nerf de la guerre, la clé de voute du système puisque c'est lui qui concentre les données.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Liens: ----- Load balancing = http://www.linuxvirtualserver.org/ H.A = http://www.linux-ha.org/ Ps: qq part sur le site de nexen.net, damien seguy publie des slides détaillant un peu le fonctionnement de l'hebergement PHP/mysql de nexen.net. Voir peut etre conference php paris de cette année pour retrouver la news
Tout eclaircissement sera le bienvenu. D'avance, merci. Voila.
A+ Tom
Olivier Le Cam wrote:
Bonjour,
Je me pose des questions sur le fonctionnement des plateformes d'héberment
mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être :
- plusieurs serveurs web en frontal (en round robin DNS)
Un *vrai* load-balacing c'est de l'Altéon (appliance rezo) ou du fait
maison avec LVS. Le roundrobbin c'est la solution simple et qui ne tient
pas compte de la charge des serveurs (nbre de connexions).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs
Ouais pourquoi pas.
- dans les scripts PHP, on attaque les serveurs MySQL sur « localhost » ...
Non, il préférable d'avoir des serveurs SQL dédiés dans le backend mais
c possible.
Quel mécanisme permet aux différents serveurs web de servir les même sites
(éventuellement avec des sessions stockées côté serveur) de façon
transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est
immédiatement disponible sur tous les serveurs web frontaux ... Un
mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le
nombre de frontaux ?
Le serveur NFS stocke toutes les données envoyées par le FTP. A partir
de la les N frontaux Webs viennent chercher les données pour les publier
sur le Net. Pourquoi N frontaux (PHP) parce que le PHP ca consomme du
CPU et qu'il faut plusieurs machines pour servir les X millions de pages
des clients (aussi mal codées qu'elles soient ;). Le fait de mettre
plusieurs frontaux Web permet donc de supporter la charge. Si un jour tu
sens ta plate-forme chargée, tu rajoutes Y serveurs pour aider les N
serveurs en place (en n'oubliant pas de les rajouter dans le
load-balancing). Cela s'appelle l'échelonnabilité (scalabily).
Tu te doutes que le NFS est le nerf de la guerre, la clé de voute du
système puisque c'est lui qui concentre les données.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des
serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en
HA (High-Availibity). En gros si le master, tombe le slave reprend.
Liens:
-----
Load balancing = http://www.linuxvirtualserver.org/
H.A = http://www.linux-ha.org/
Ps: qq part sur le site de nexen.net, damien seguy publie des slides
détaillant un peu le fonctionnement de l'hebergement PHP/mysql de
nexen.net. Voir peut etre conference php paris de cette année pour
retrouver la news
Tout eclaircissement sera le bienvenu. D'avance, merci.
Voila.
Je me pose des questions sur le fonctionnement des plateformes d'héberment mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être : - plusieurs serveurs web en frontal (en round robin DNS) Un *vrai* load-balacing c'est de l'Altéon (appliance rezo) ou du fait
maison avec LVS. Le roundrobbin c'est la solution simple et qui ne tient pas compte de la charge des serveurs (nbre de connexions).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs Ouais pourquoi pas.
- dans les scripts PHP, on attaque les serveurs MySQL sur « localhost » ... Non, il préférable d'avoir des serveurs SQL dédiés dans le backend mais
c possible.
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
Le serveur NFS stocke toutes les données envoyées par le FTP. A partir de la les N frontaux Webs viennent chercher les données pour les publier sur le Net. Pourquoi N frontaux (PHP) parce que le PHP ca consomme du CPU et qu'il faut plusieurs machines pour servir les X millions de pages des clients (aussi mal codées qu'elles soient ;). Le fait de mettre plusieurs frontaux Web permet donc de supporter la charge. Si un jour tu sens ta plate-forme chargée, tu rajoutes Y serveurs pour aider les N serveurs en place (en n'oubliant pas de les rajouter dans le load-balancing). Cela s'appelle l'échelonnabilité (scalabily). Tu te doutes que le NFS est le nerf de la guerre, la clé de voute du système puisque c'est lui qui concentre les données.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Liens: ----- Load balancing = http://www.linuxvirtualserver.org/ H.A = http://www.linux-ha.org/ Ps: qq part sur le site de nexen.net, damien seguy publie des slides détaillant un peu le fonctionnement de l'hebergement PHP/mysql de nexen.net. Voir peut etre conference php paris de cette année pour retrouver la news
Tout eclaircissement sera le bienvenu. D'avance, merci. Voila.
A+ Tom
Xavier Henner
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui
supporte plus de charge qu'un serveur web et est facilement extensible. (et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS.
-- Xavier Henner
Quel mécanisme permet aux différents serveurs web de servir les même sites
(éventuellement avec des sessions stockées côté serveur) de façon
transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est
immédiatement disponible sur tous les serveurs web frontaux ... Un
mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le
nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui
supporte plus de charge qu'un serveur web et est facilement extensible.
(et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui
accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le
dossier des fichiers de session soit sur un des serveurs NFS.
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui
supporte plus de charge qu'un serveur web et est facilement extensible. (et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS.
-- Xavier Henner
Tom
Re,
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions. Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS. Sinon il y a Msession (cherche sur php.net ou google, le site web c qq
chose comme mohawak ou je sais plus quoi - j'ai la flemme de rechercher ;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si pas de bol (faut vraiment avoir la malche mais bon). Une session générée par un seveur X avec un nom temporaire est créée puis un serveur Z créé une autre session avec un nom temporaire identique. C'est pas de bol mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom mais surement un mix PID+time).
A+ Tom
Re,
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui
accèdent aux différentes partitions.
Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
pour les session, PHP utilise des fichiers. Il suffit donc que le
dossier des fichiers de session soit sur un des serveurs NFS.
Sinon il y a Msession (cherche sur php.net ou google, le site web c qq
chose comme mohawak ou je sais plus quoi - j'ai la flemme de rechercher
;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si
pas de bol (faut vraiment avoir la malche mais bon). Une session générée
par un seveur X avec un nom temporaire est créée puis un serveur Z créé
une autre session avec un nom temporaire identique. C'est pas de bol
mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom
mais surement un mix PID+time).
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions. Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS. Sinon il y a Msession (cherche sur php.net ou google, le site web c qq
chose comme mohawak ou je sais plus quoi - j'ai la flemme de rechercher ;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si pas de bol (faut vraiment avoir la malche mais bon). Une session générée par un seveur X avec un nom temporaire est créée puis un serveur Z créé une autre session avec un nom temporaire identique. C'est pas de bol mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom mais surement un mix PID+time).
A+ Tom
Yohan
Xavier Henner wrote:
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui supporte plus de charge qu'un serveur web et est facilement extensible. (et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS.
A noter qu'il y a un petit probleme la dessus, juste a ce niveau la. Le client NFS ne cache pas les données, mais cache l'arborescence des repertoires et les stat() sur les fichiers.. En gros si on se base sur ce modele, une session est faire sur le frontal A, il faudrai attendre le timeout du cache nfs ( par defaut il est de quelques secondes ) pour que la dite session soit visible sur le frontab B...
Ce qui est super embettant lorsqu'on fonctionne en "grappes" plugguées sur un serveur NFS derriere un load balancer....
Xavier Henner wrote:
Quel mécanisme permet aux différents serveurs web de servir les même sites
(éventuellement avec des sessions stockées côté serveur) de façon
transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est
immédiatement disponible sur tous les serveurs web frontaux ... Un
mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le
nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui
supporte plus de charge qu'un serveur web et est facilement extensible.
(et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui
accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le
dossier des fichiers de session soit sur un des serveurs NFS.
A noter qu'il y a un petit probleme la dessus, juste a ce niveau la.
Le client NFS ne cache pas les données, mais cache l'arborescence des
repertoires et les stat() sur les fichiers..
En gros si on se base sur ce modele, une session est faire sur le
frontal A, il faudrai attendre le timeout du cache nfs ( par defaut il
est de quelques secondes ) pour que la dite session soit visible sur le
frontab B...
Ce qui est super embettant lorsqu'on fonctionne en "grappes" plugguées
sur un serveur NFS derriere un load balancer....
Quel mécanisme permet aux différents serveurs web de servir les même sites (éventuellement avec des sessions stockées côté serveur) de façon transparente ? Je veux dire : lorsqu'on uploade un fichier par ftp, il est immédiatement disponible sur tous les serveurs web frontaux ... Un mega-serveur NFS ? Mais quel est l'intérêt, dans ce cas, de multiplier le nombre de frontaux ?
d'une part, le serveur NFS est généralement un truc dédié a ca donc qui supporte plus de charge qu'un serveur web et est facilement extensible. (et qui a des fonctions de réplication ou de haute disponibilité)
pour le très haut de gamme, on peut meme utiliser un SAN.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions.
pour les session, PHP utilise des fichiers. Il suffit donc que le dossier des fichiers de session soit sur un des serveurs NFS.
A noter qu'il y a un petit probleme la dessus, juste a ce niveau la. Le client NFS ne cache pas les données, mais cache l'arborescence des repertoires et les stat() sur les fichiers.. En gros si on se base sur ce modele, une session est faire sur le frontal A, il faudrai attendre le timeout du cache nfs ( par defaut il est de quelques secondes ) pour que la dite session soit visible sur le frontab B...
Ce qui est super embettant lorsqu'on fonctionne en "grappes" plugguées sur un serveur NFS derriere un load balancer....
Patrick
Olivier Le Cam wrote:
Bonjour,
Je me pose des questions sur le fonctionnement des plateformes d'héberment mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être : - plusieurs serveurs web en frontal (en round robin DNS)
Le round robin dns ne prend pas en compte la charge des serveurs qui sont derrières. D'autres solutions sont possibles (codées hard ou soft).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs
Il me semble qu'à l'époque où je bossais chez Tiscali, les serveurs ftp étaient patchés pour aiguiller sur une machine ou une autre... Mais ce sont des souvenirs flous.
-- Patrick
Olivier Le Cam wrote:
Bonjour,
Je me pose des questions sur le fonctionnement des plateformes d'héberment
mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être :
- plusieurs serveurs web en frontal (en round robin DNS)
Le round robin dns ne prend pas en compte la charge des serveurs qui
sont derrières. D'autres solutions sont possibles (codées hard ou soft).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs
Il me semble qu'à l'époque où je bossais chez Tiscali, les serveurs ftp
étaient patchés pour aiguiller sur une machine ou une autre... Mais ce
sont des souvenirs flous.
Je me pose des questions sur le fonctionnement des plateformes d'héberment mutualisés Apache/PHP/MySQL chez de gros prestataires.
Un schéma classique semble être : - plusieurs serveurs web en frontal (en round robin DNS)
Le round robin dns ne prend pas en compte la charge des serveurs qui sont derrières. D'autres solutions sont possibles (codées hard ou soft).
- un serveur ftp (unique ?) pour l'ensemble de ces serveurs
Il me semble qu'à l'époque où je bossais chez Tiscali, les serveurs ftp étaient patchés pour aiguiller sur une machine ou une autre... Mais ce sont des souvenirs flous.
-- Patrick
olivier.lecam
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin sur le sujet, par exemple ...
-- Olivier Le Cam
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des
serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en
HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost »
dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement
sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire
tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des
stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin
sur le sujet, par exemple ...
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin sur le sujet, par exemple ...
-- Olivier Le Cam
Yohan
Olivier Le Cam wrote:
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur. L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin sur le sujet, par exemple ...
Dommage si tu etais blonde, peut etre que j'aurai donné des cours du soir !! :-D
Olivier Le Cam wrote:
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des
serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en
HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost »
dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement
sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire
tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des
stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin
sur le sujet, par exemple ...
Dommage si tu etais blonde, peut etre que j'aurai donné des cours du
soir !! :-D
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur. L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?
PS : au fait, ou est ce que l'on apprend tout cela ? Existe-t-il des stages, des cours du soir, ... ? Je n'ai jamais vraiment trouvé de bouquin sur le sujet, par exemple ...
Dommage si tu etais blonde, peut etre que j'aurai donné des cours du soir !! :-D
Xavier Henner
Re,
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions. Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
oui par exemple on met tous les sites dont la premiere lettre du domaine commence par une lettre entre a et m sur un serveur NFS et les autres sur le 2e serveur.
ca fait 13 partitions sur chaque filer et on fait monter a chaque frontal les 26 partitions
et apres, on laisse faire modvhost ou autre pour trouver les sites sur le bon répertoire.
-- Xavier Henner
Re,
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui
accèdent aux différentes partitions.
Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
oui par exemple on met tous les sites dont la premiere lettre du domaine
commence par une lettre entre a et m sur un serveur NFS et les autres sur
le 2e serveur.
ca fait 13 partitions sur chaque filer et on fait monter a chaque
frontal les 26 partitions
et apres, on laisse faire modvhost ou autre pour trouver les sites sur
le bon répertoire.
en suite, on peut utiliser plusieurs serveurs NFS avec les frontaux qui accèdent aux différentes partitions. Comment tu fais pour garder les X serveurs NFS synchro entre eux ?
Ou bien tu parlais de serveurs NFS exportant des données différentes ?
oui par exemple on met tous les sites dont la premiere lettre du domaine commence par une lettre entre a et m sur un serveur NFS et les autres sur le 2e serveur.
ca fait 13 partitions sur chaque filer et on fait monter a chaque frontal les 26 partitions
et apres, on laisse faire modvhost ou autre pour trouver les sites sur le bon répertoire.
-- Xavier Henner
Benjamin BAYART
Tom wrote: ;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si
pas de bol (faut vraiment avoir la malche mais bon). Une session générée par un seveur X avec un nom temporaire est créée puis un serveur Z créé une autre session avec un nom temporaire identique. C'est pas de bol mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom mais surement un mix PID+time).
Dépend énormément du mode de fonctionnement de ton serveur NFS. En s'y prenant bien: - l'opération de création de fichier est atomique - l'opération de renomage d'un fichier est atomique.
Du coup, la création de session ne fonctionnera que pour le premier des deux serveurs qui le demandera.
Cordialement,
Benjamin.
Tom <tom@calixo.nospam.net> wrote:
;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si
pas de bol (faut vraiment avoir la malche mais bon). Une session générée
par un seveur X avec un nom temporaire est créée puis un serveur Z créé
une autre session avec un nom temporaire identique. C'est pas de bol
mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom
mais surement un mix PID+time).
Dépend énormément du mode de fonctionnement de ton serveur NFS.
En s'y prenant bien:
- l'opération de création de fichier est atomique
- l'opération de renomage d'un fichier est atomique.
Du coup, la création de session ne fonctionnera que
pour le premier des deux serveurs qui le demandera.
Tom wrote: ;) Cela dit les fichiers sessions sur NFS est une bonne solution sauf si
pas de bol (faut vraiment avoir la malche mais bon). Une session générée par un seveur X avec un nom temporaire est créée puis un serveur Z créé une autre session avec un nom temporaire identique. C'est pas de bol mais ca pourrait arriver ? Non ? (faut voir comment est générer le nom mais surement un mix PID+time).
Dépend énormément du mode de fonctionnement de ton serveur NFS. En s'y prenant bien: - l'opération de création de fichier est atomique - l'opération de renomage d'un fichier est atomique.
Du coup, la création de session ne fonctionnera que pour le premier des deux serveurs qui le demandera.
Cordialement,
Benjamin.
Xavier Henner
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?
suffit de faire tourner un proxy
-- Xavier Henner
Tom écrivait :
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des
serveurs web ?
Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en
HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost »
dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement
sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire
tourner ailleurs ?
Merci à tous pour les réponses, et en particulier à Tom.
Y a t-il vraiment un serveur mysql (avec réplication) sur chacun des serveurs web ? Oui/non, tout dépend de la tolérance de panne qu'accepte l'hébergeur.
L'idéal est toujours d'avoir un spare pour reprendre la main derriere en HA (High-Availibity). En gros si le master, tombe le slave reprend.
Mais quand on « attaque » un serveur mysql en spécifiant « localhost » dans le script PHP, cela signifie-t-il que ledit serveur tourne réellement sur la machine qui éxécute le PHP ou y a-t-il une astuce pour le faire tourner ailleurs ?