7 Lessons Learned While Building Reddit to 270 Million Page Views a Month

Superbe article que vous pouvez lire ici dans son intégralité relayé par Simple Entrepreneur.

Pour ceux qui sont rebutés par la lecture en anglais, je vous mets une synthèse ci-dessous.

Synthèse de l'article pour les pressés

  • Un site avec beaucoup de visiteurs c'est une vie personnelle ruinée : toujours avoir un pc avec soit, car un problème peut survenir n'importe quand.
  • Séparer les services : gain de temps en analyse de problème, facilite la maintenance des environnements.
  • Oubliez les schémas de bdd relationnelle, 3° forme normale etc ... trop lourd à faire évoluer, maintenir, upgrader, synchroniser ... le schéma de base : 1 table "chose" avec type, date, ... et 1 table "Données" avec id, clé, valeur. Ca fait de grosses tables mais vous simplifie la vie royalement et permet de distribuer les données sur votre réseau sans vous prendre la tête.
  • Plus vous avez de serveurs frontaux plus il est difficile de gérer les caches et de synchroniser leurs états etc ... arrêtez de les gérer et rajoutez des serveurs : plus simple à gérer
  • Cachez tout en mémoire, imposez des taux à tout : cela vous évite des attaques inhumaines (s'il y a 10 clics en 1 sec, ca ne devrait pas être humain ...). Stockez tout à l'avance : listes triées selon les différents tris etc ... gagnez en temps de réponse.
  • Stockez les données redondantes : il vaut mieux perdre du disque et de la mémoire que ralentir l'utilisateur.
  • Travaillez hors ligne : structurez votre système d'information pour travailler un maximum offline (rendus des miniatures d'image, pré-calculs de tris etc ....).

J'avoue que cette lecture m'a fait un grand bien, certaines choses étaient déjà acquises pour moi : séparer les services, oublier le modèle relationnel de bdd; mais ca fait du bien de les voir écrit aussi par quelqu'un d'autre ;)

Commentaires

Pas de commentaires

Ajouter un commentaire

Envoyer

Cet article a été vu 46 fois