Architectures.Phpquebec1007

1 211 vues

Publié le

Différentes architectures PHP et MySQL pour dépasser la simple installation de deux serveurs : fermes PHP, réplication MySQL, cluster et partitionnement. Différentes stratégies pour assurer l'évolutivité.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 211
Sur SlideShare
0
Issues des intégrations
0
Intégrations
36
Actions
Partages
0
Téléchargements
37
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Architectures.Phpquebec1007

  1. 1. Archictectures PHP/MySQL PHP Québec, réunion mensuelle 4 octobre 2007, Montréal, Québec, Canada
  2. 2. Qui parle? Damien Seguy Co-phpère des éléphpants Hébergements nexen Services damien.seguy@nexen.net
  3. 3. Architecture Organiser son application pour dépasser un ou deux serveurs Être capable d'ajouter du matériel Assurer la montée en charge
  4. 4. Quel est le problème? Trop de traitements? Trop de données? Trop de lectures? Trop d'écritures?
  5. 5. Critères d'architecture Performances Répond vite Haute disponibilité Toujours accessible Aucun passage obligé Evolutivité Ce qui monte doit redescendre Que se passe-t-il quand on doit ajouter un serveur?
  6. 6. Différentes approches Scale up Scale out
  7. 7. Scale up Syndrôme du gros serveur Très cher à l'achat à l'entretien Très faible impact sur le code Résout les problèmes Temporairement Aucun moyen de revenir en arrière!
  8. 8. Scale out Syndrôme de la ferme de serveurs Économique à raisonnable Evolutif à la carte Impact sur l'organisation de l'application Possibilité de virtualisation
  9. 9. Multiplication des serveur Web
  10. 10. Multiplication des serveurs Web Beaucoup de travail pour PHP Personnalisation Solutions Exporter les données statiques dans un CDN Akamaï, Amazon S3,Youtube, Mises en cache temporaire HTML, code PHP, données Stratégie du 'Share nothing'
  11. 11. Multiplication des sites Web Les sessions : il faut partager Session via NFS Session dans un filer Session en base de données Zend platform Session en memcache
  12. 12. Base de données Lecture Écriture Écueil Réplication Oui Non Lag Cluster Oui Oui Installation Partitions Non Oui Application
  13. 13. Réplication Écritures Lectures
  14. 14. Réplication Idéale pour les sauvegardes Limitée par les écritures Le maître ne travaille pas Les esclaves au turbin Le maître est un point critique On double le maître pour HA Le persistant problème de lag Les esclaves arriveront-ils à rattraper un jour?
  15. 15. Solutions de réplications Doubler le maître Réplication synchrone Google Diriger les écritures sur le maître, et les lectures seules sur les esclaves Il faut mesurer et maîtriser son retard de réplication
  16. 16. Partitions Découpage des données en plusieurs partitions Permet de résoudre les problèmes de taille de table Permet de régler les problèmes d'écritures Conduit à des tables de taille raisonnable Permet les opérations paralelles Les jointures deviennent difficiles
  17. 17. Partitions + réplication : shard Utilisé initialement chez Flickr Réplication réciproque, maître-maître Les écritures vont sur les deux serveurs Facilité à configurer et comprendre Haute disponibilité Pas de gaspillage de ressource
  18. 18. Cluster SQL Gestion Stockage
  19. 19. Cluster Pas avant 4 machines Les performances individuelles diminuent Elles n'augmentent pas vite Beaucoup d'effort de configuration C'est l'avenir
  20. 20. Questions? http://www.nexen.net/ conferences.php damien.seguy@nexen.net
  21. 21. Elements graphiques

×