12
votes

À quel point les greils sont évolutifs?

Je cherche à faire un site Web qui obtiendra probablement un trafic lourd et répétitif. Est des greils jusqu'à la tâche?


1 commentaires

Qu'est-ce qui est lourd? Combien de demandes d'aperçus par seconde? Combien en moyenne? Combien de serveurs frontaux? Quelles spécifications? Idem pour les serveurs de base de données. Balanceurs de chargement? Sessions collantes? Votre question est très beaucoup manque.


5 Réponses :


8
votes

L'évolutivité de votre application Web ne dépendra pas vraiment de la langue / du cadre que vous choisissez d'utiliser, mais plutôt comment votre application est construite. Vous pouvez créer une application Web évolutive dans Grails, comme vous pouvez créer une application incroyablement lente en C ++. Si Grails est le cadre que vous souhaitez utiliser, puis utilisez-le; Vous pouvez toujours réécrire les pièces lentes en Java ou une autre langue rapide, si nécessaire. (Après tout, c'est ce que Twitter a fait avec Scala.)


Disclaimer: Je n'ai jamais utilisé réellement graves.


3 commentaires

Twitter a utilisé Schaala. Artima.com/scalazine/articles/Twitter_on_scala.html . Toujours jvm cependant.


Eh bien, je parlais davantage au fait qu'ils ont réécrit une partie de celui-ci dans une langue plus rapide. En fin de compte, la langue réelle n'a pas d'importance, tant qu'elle est "assez rapide". Je ne pense pas que cela aurait fait une grande partie de la différence pour eux si cela avait été Java.


Je suis d'accord, c'est pourquoi j'ai dit que cela peut être en JVM car dans ce cas particulier, cela n'a pas d'importance, comme vous l'avez dit. Je voudrais éditer votre message juste pour ajouter cette petite clarification (est toujours intéressant de souligner exactement ce qu'ils ont fait pour éviter de futures idées fausses), mais je n'ai pas assez de réputation.



6
votes

Grails est essentiellement une couche mince sur le cadre de ressort, dont beaucoup considèrent comme un cadre très évolutif dans le monde des entreprises. Spring + Hibernate est devenu une norme dans de nombreux magasins Java du monde entier.

Si vous rencontrez des goulots d'étranglement performants à Groovy, vous pouvez toujours réécrire ces pièces en Java.

Jetez un coup d'œil à la Success Stories pour des exemples de sites écrits dans Grails. Le Testamonials est également un bon endroit pour rechercher des exemples. Vous utiliserez un peu plus de mémoire (tas et permen) qu'une application Vanilla Java, mais vous pouvez l'accorder comme si vous feriez une autre application Java.

À la fin de la fin, vous n'allez pas trouver des options d'hébergement de 3 $ / mois que vous pourriez avec PHP Stack (par exemple). Cela dit, il existe de bonnes solutions de mise en cache pour les applications GRAVES EHCACHACHE, MEMCACHE, etc. Au-delà de cela, vous pouvez également configurer une couche Apache pour cache des ressources statiques ou tout ce dont vous avez besoin.


0 commentaires

18
votes

Je suis d'accord avec Lael, également parce qu'il est construit sur Java Technologies, il existe de nombreux outils de clustering et "Enterprisey" disponibles, qui vous permettent de faire échec facilement à plusieurs services d'application.

Les outils de nuage autour des greils deviennent également très bons et déploient un nuage comme EC2 très facile. J'ai récemment utilisé la fonderie de nuages ​​et j'ai trouvé très bon.

Comme la première affiche pointe toutefois, vous pouvez écrire une application mal performante dans n'importe quel cadre / langue. Une chose que je recommanderais, c'est de bien comprendre l'hibernate qui est la bibliothèque de persistance sous-jacente. Si vous comprenez comment cela fonctionne, cela devrait vous aider à éviter de faire des erreurs stupides au niveau de la DB. De ce côté des choses, un outil tel que P6SPY est idéal pour vérifier ce que la base de données est jusqu'à une utilisation normale. Cela devrait vous aider à repérer toutes les requêtes répétitives.


0 commentaires

1
votes

greils fonctionne sur la JVM. Mettez simplement, vous ne trouverez pas une plate-forme d'exécution solide et robuste plus évolutive que la JVM, n'importe où. C'est le gros avantage de Grails sur, disons, php ou ror.


0 commentaires

4
votes

Ne veut pas dire à empiler ici. Vous avez déjà de bonnes réponses, mais je veux juste ajouter ce que j'ai rappelé récemment. L'évolutivité dépend non seulement du logiciel que vous écrivez (quelle que soit la langue / la structure), mais également sur l'environnement de déploiement. Une application très bien écrite déployée sur un serveur inférieur ou mal configuré ne sera pas à l'échelle du tout. Si vous utilisez des grails ou de tout autre cadre basé sur Java, les paramètres par défaut sur votre conteneur (Tomcat, JBoss, etc.) ne seront probablement pas ce dont vous avez besoin.

juste quelque chose à garder à l'esprit, Dave


0 commentaires