Question

Je suis sur le point de commencer un projet qui, je l'espère un jour besoin de la capacité de mise à l'échelle. La question clé pour moi est: dois-je investir l'effort de concevoir cette éventualité maintenant, ou devrais-je traverser ce pont quand je suis là-bas

Je sais comment ces choses vont. Tout le monde pense que leur projet pourrait évoluer, mais la plupart des projets ne font jamais

Y at-il un ensemble de bonnes pratiques qui vous permettront de faire évoluer plus facilement à un stade ultérieur, sans trop investir dans quelque chose qui ne peut jamais être nécessaire?

Il est évident que je n'ai pas d'expérience avec des sites Web évolutifs. À l'heure actuelle, je me penche vers Scala / Play! / Akka. D'après ce que je peux glaner du site Akka, il est très approprié pour ce genre de projet (en ce sens qu'il fournit un ensemble d'outils qui permet le développement sur une seule machine et la montée en puissance à un nombre arbitraire de machines).

Le projet est un site web orienté vers le consommateur qui implique une interaction utilisateur (commentaires, messages, vote, etc.). L'accent est mis éditoriale, cependant. Il n'y a pas de Facebook:)

Ne pas être expérimenté dans l'une de ces technologies (mon expérience provenant principalement de PHP, AS3, Objective-C), j'ai sans doute un peu trop sur mon assiette en ce moment. Mais je ne vais pas aller à tout de suite. Je suis conscient que je dois obtenir une certaine expérience en utilisant Scala et Play! premier.

Un conseil est très apprécié.

Était-ce utile?

La solution

Commencez par modèle simplement vous concevoir, construire des tests unitaires pour que puis définissez votre couche de présentation sur le dessus de celui-ci. Tant que votre modèle est sensible, il sera facile à l'échelle jouer à un certain nombre de machines. Si vous optez pour la construction à l'appui JPA, vous pouvez toujours faire face à la question dont DB d'aller.

Vous avez de plus grandes choses sur votre assiette pour l'instant. Il suffit donc de vous assurer que votre conception est cohérente et sensible, puis mise à l'échelle ne sera pas un problème.

Autres conseils

Vous avez un bon départ en utilisant un framework web sans état comme Play! qui ne sera pas de la manière dont vous avez besoin quand à l'échelle. Comme le dit ExxKA, garder votre modèle propre et sensible. Cela vous aidera à garder l'avantage de la complexité.

Ne pas considérer comme un échec lorsque vous devez factoriser votre code - ou même réécrire des éléments importants de celui-ci. Ceci est une partie naturelle d'un projet de plus en plus, comme un serpent de muer.

Il y a forcément des choses que vous allez apprendre dans le processus d'écriture du projet, donc ne pas essayer de les anticiper tout moment.

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