• 3 mars 2008

    Rendre son projet scalable

    Traduction d’un agrégat d’un thread de yCombinator par Tod Hoff.

    1. Lire le livre de Cal Henderson
    2. Le centre du design doit être la donnée et non le process. La transition entre les états doit être atomique, par petits incréments, sécurisée et fiable (NDLR : l’objectif d’une conception Restful)
    3. Eviter les variables globales ou les sessions. Plus la fonction est pure, plus il est facile de les cacher ou partitionner (NDLR : donc répartir).
    4. Ne pas compliquer la données stockées. Le calcul et le rendu doivent avoir lieu dans un process séparé et asynchrone.
    5. La données stockées doit supporter de nombreuses connexions simultanées. Objectif : Minimiser le « lock ».
    6. Evitez d’implémenter votre algorithme au niveau de la base de données : faites le dans un helper ou module ou autres… N’essayez pas non plus de contruire un framework pour chaque requête construite vers la base de données. N’utilisez que ceux dont vous avez besoin.

    Ces règles ne sont en aucun cas exhaustives. Elles doivent jouer le rôle de « muses » pour les développeurs pour permettre lors du design de l’architecture de très facilement mettre en oeuvre les possibilités de répartition et de scalabilité.

Newsletter

Inscrivez-vous et tenez vous au courant de l’actualité Oxalide