Question

J'ai été la conception d'un site au cours des derniers deux jours, et a été fait des recherches sur différents aspects de la mise à l'échelle d'un site horizontalement. Si les choses se déroulent comme prévu, dans quelques mois (années?) Je sais que je dois vous soucier de mise à l'échelle du site et hors, étant donné que les ressources qu'il finirait par consommer serait énorme.

Alors, cela me fait réfléchir, quand est le meilleur moment pour commencer à penser à, et la conception pour, l'évolutivité? Si vous commencez trop tôt, vous pourriez facilement sur compliquer la conception, et il est impossible de construire réellement. Vous pouvez également trop pris dans les détails, l'architecture, que ce soit, et le vent jusqu'à obtenir rien fait. En outre, si vous le faire fonctionner, mais le site ne quitte jamais, vous avez peut-être perdu une bonne partie de l'effort supplémentaire.

Par contre, vous pourriez vous sauver une tonne d'effort sur la route. Sa conception à partir du sol pour être grand, il serait beaucoup plus facile par la suite de le laisser grandir, avec très peu de réécriture en cours.

Je sais ce que je travaille, j'ai décidé de faire au moins quelques choix maintenant du côté de la mise à l'échelle, mais je ne vais pas faire un changement complet de la pensée pour l'obtenir à l'échelle complètement . Notamment, j'ai repensé ma base de données à partir d'une conception relationnelle classique à un semblable à ce qui a été suggéré sur le site Reddit lien ci-dessous, et je vais memcache essayer.

Alors, la question fondamentale, quand est un bon moment pour commencer à penser ou se soucier de mise à l'échelle, et ce sont de bons modèles, des conseils, etc. pour le faisant?

Un couple de choses que j'ai lu, pour ceux qui sont intéressés:

http: / /www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-out-hidden-costs.html

http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

http://developer.yahoo.com/performance/rules.html

Était-ce utile?

La solution

A bien que sur l'architecture raisonnable devrait vous permettre d'intensifier plus tard sans ressources excessives à mettre en œuvre. Cela devrait être pensé dès le début du projet.

Aujourd'hui, il existe de très bonnes architectures et modèles de conception de l'entreprise, vous pouvez tirer de (Rails, MVC, Spring, etc.) qui vous permettent de développer des logiciels sur une base bien établie et bien compris qui fournit les mécanismes nécessaires à la mise à l'échelle vers le haut.

Autres conseils

Dans un certain point de vue, les techniques de mise à l'échelle sont tout à fait accepté et consolidé. Ainsi, au lieu de compter sur les liens web / articles, je lis des livres sur le sujet avant de commencer le probject.

Je suggère:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top