Je suis dans la phase de planification d'une nouvelle application client/serveur multi-utilisateur utilisant Flash via Flex et AIR. J'essaie de décider quelle plate-forme/pile web est le mieux adapté pour cela? J'ai utilisé RoR dans le passé, mais si je comprends bien, RoR est monothread, et n'est donc pas le choix idéal pour gérer potentiellement des milliers de demandes simultanées. J'ai fait quelques lectures sur Scala et Lift et c'est une option intrigante, mais je me demandais s'il y a d'autres langages/frameworks qui fonctionneraient bien pour mon projet?La pile Web la plus évolutive pour l'application Flash/Flex/AIR hautes performances?
Répondre
Je ne sais pas trop sur la Scala et Lift ... si vous voulez coller à ruby, consultez merb ... il semble qu'il sera fusionné avec RoR de toute façon, de sorte que vous pourriez peut-être attendre le prochaine version ... :)
vous pouvez jeter un oeil à haXe (un langage de haut niveau, qui cible de nombreuses plates-formes, comme AVM1, AVM2, PHP, C++ ECTC.) et neko (un serveur VM disponible en tant que compilateur cible pour haXe), ainsi que haXe remoting (vous pouvez simplement compiler votre net-code haXe sur un swc et coller à AS3/mxml pour le reste) ... neko échelles très bien ... il est très léger et extensible ... il y a plusieurs façons de l'utiliser comme plate-forme de serveur, mais cela vous permet aussi d'écrire ng tout à partir de zéro, puisque l'API expose un accès à faible niveau ...
modifier: vous devriez plutôt utiliser mod_tora, car il a l'empreinte plus faible ... pour les autres choses mentionnées, il suffit de consulter la liste de diffusion ... il y a une couche "base de données d'objets persistants simples", qui pourrait aider ... il y a aussi une "base de données d'objets à persistance totale" qui circule ... et pour le routage, il y a aussi plusieurs solutions ... oubliez de vérifier haxelib ... vous pouvez trouver tout à fait beaucoup de choses réutilisables là ...
greetz
back2dos
Je prévois d'utiliser haXe pour le côté client, et selon votre suggestion, j'ai jeté un rapide coup d'oeil sur neko et mod_neko, mais il semble manquer quelques-uns des cadres de plus haut niveau que je J'en suis arrivé à attendre avec d'autres plateformes (pas de routage, ORM, etc). J'ai jeté un oeil à merb, et j'aime ce que j'ai vu là-bas. Nous étudierons cette option plus avant. Merci pour votre réponse. –
Je vous recommande d'utiliser lighttpd pour traiter votre contenu statique. Est-ce que votre application AIR est supposée interagir avec le serveur à partir duquel nous avons consommé d'autres services fournis par d'autres sites Saas? RoR ou Scala ou Lift sont parfaits si vous voulez garder votre contorller (de MVC) sur le serveur. Avec AIR, je ne pense pas que ce soit la façon dont vous voulez aller car cela augmente la complexité de l'interaction du contrôleur et vous devez maintenir l'état à deux endroits. Si votre modèle d'interaction client/serveur va simplement consommer des services REST (bien que le support REST soit un peu jenky dans Flex, vous aurez probablement besoin d'écrire votre propre bibliothèque de socket pour prendre en charge d'autres verbes REST et accéder à les en-têtes) alors votre serveur backend devient beaucoup moins compliqué. Vous avez seulement besoin de traiter la requête/réponse d'une requête HTTP.
Ok, donc ce que je recommanderais.
CherryPy pour Python Servlets/Jetty pour Java
Assurez-vous de choisir un niveau intermédiaire de la mise en cache, comme memcached ou TokyoTyrant (soutien à la fois tous les environnements mentionnés dans mon post et d'autres).
Une comparaison récente évolutivité verticale a été fait pour Nginx et Lighty:
Que peut bénéficier votre application dépend de nombreux facteurs, mais compte tenu de la CPU, la RAM et des idées RPS couverts là, ce test peut aider à identifier la meilleure correspondance d'un cas donné.
- 1. API de messagerie d'entreprise avec services Web pour hautes performances?
- 2. Ruby listbox hautes performances
- 3. Bibliothèque pour créer des applications serveur hautes performances
- 4. Comment implémenter l'arborescence hautes performances dans SQL Server 2005
- 5. Quelle est la meilleure pratique pour une application web évolutive impliquant un état de session?
- 6. Planification du développement d'une application Web évolutive
- 7. Comparaison de l'architecture d'application Web évolutive sur Java et .NET
- 8. Ghostscript et hautes résolutions?
- 9. quand démarrer la mise au point des performances d'un site Web
- 10. Comment faire pour vérifier la pile d'appel
- 11. Quelle est exactement la pile technologique définissant les API Web?
- 12. Recommandations de la pile ZigBee
- 13. Méthode la plus efficace pour inverser une pile et l'ajouter à une ArrayList
- 14. Bonne pile d'applications Web-book?
- 15. Afficher la trace de la pile DNN?
- 16. Quelle est la solution de journalisation la plus efficace et la plus performante pour ASP.NET?
- 17. Masquage de la pile pour une exception renvoyée par une méthode web asp.net?
- 18. Réinstallez la pile de développement
- 19. Tableau dynamique dans la pile?
- 20. Optimisation des performances pour les sites Web hautement interactifs
- 21. Peinture évolutive d'une application Qt
- 22. Comment obtenir la pile de pile dans un appareil mobile?
- 23. Langage côté serveur pour application TCP-socket évolutive
- 24. Superposition de google maps évolutive
- 25. Modal Vue retirée de la pile
- 26. Optimisation des performances d'un site Web ASP.NET
- 27. Méthode la plus efficace pour mettre fin à une demande Web ASPX
- 28. Verrouiller la pile libre et la file d'attente en C#
- 29. Performances de la charge utile dans Lucene
- 30. Comment reconstruisez-vous la pile GWT History?
réponse mise à jour ... greetz – back2dos
Notez que Lift n'est pas conçu pour être évolutif sur plusieurs machines ou pour être évolutif au sens de REST. Il est conçu pour prendre en charge de lourdes applications basées sur AJAX et Comet avec beaucoup de sessions actives au sein d'un même nœud. Voir ces discussions pour plus de détails: SO question "pourquoi le framework web lift est-il évolutif?" [http://stackoverflow.com/questions/648964/why-is-the-lift-web-framework-scalable] "Lift, State, et Scaling" du blog officiel de Lift [http://lift.la/lift-state-and-scaling] – CheatEx