J'ai récemment appris scala et sur le point de commencer à travailler/apprentissage Lift cadre. En passant par les fonctionnalités et de commencer avec le cadre, j'avais vu quelques capacités étonnantes du cadre, y compris l'inverse ajax et la comète. Plus tôt dans mon expérience, j'avais vraiment une très mauvaise expérience avec l'ajax inverse qui n'a jamais évolué. Si je choisis le cadre d'ascenseur pour n'importe quel développement ce sera la raison. Ma question ici est de savoir à quel point la technologie et le produit sont évolués et à quel point est-il évolutif en utilisant lift sur Tomcat? En comparant avec la spécification de servlet 3.0, laquelle est la meilleure pour cela, attendez la spécification de servlet 3.0 ou commencez-vous à utiliser lift?Quelle est l'évolutivité de la comète/ajax inverse de l'infrastructure Lift?
Répondre
Inverser AJAX est Comet. Ils sont juste deux noms différents pour la même chose. En ce qui concerne la racine de votre question ...
L'évolutivité du support de Lift's Comet dépend beaucoup du conteneur de servlets. Vous vraiment besoin d'un conteneur qui prend en charge les suites nativement. Jetty est celle que je connais, mais je suis presque sûr qu'il y en a d'autres. En ayant un support de continuation au niveau du conteneur, vous évitez de verrouiller un thread par client, d'où proviennent la plupart des problèmes d'évolutivité de Comet.
Dans d'autres domaines d'extensibilité, Lift CometActor
est l'abstraction générique autour d'un seul client avec un sondage long actif. Parce que cette abstraction est un acteur, elle peut être manipulée dans le cadre d'acteur existant (Scala stdlib for Lift 1.0.x ou Lift acteurs on 2.0). Cela évite également le problème de la mise à l'échelle des threads et garantit que les mises à jour en attente seront mises en file d'attente de manière ordonnée.
En résumé, le support de Comet de Lift est à peu près aussi évolutif que Comet peut l'être. Il y a bien sûr des frais généraux intrinsèques associés à la technique. Vous ne pourrez jamais éviter d'avoir au moins une socket par client. Cependant, Lift (avec un conteneur activé pour les suites) est capable d'atténuer tout surcoût non essentiel dès la sortie de la boîte.
- 1. Quelle est la limite pour les recherches de géocodage inverse sur iPhone?
- 2. Quelle est la cause de cette directive?
- 3. inverse de la fonction 'predict'
- 4. Servlets Scala Lift dans la compilation WebServer
- 5. inverse de SQL LIKE '% de la valeur%'
- 6. Quelle est la meilleure façon de trouver l'inverse de datetime.isocalendar()?
- 7. Inverse de jQuery.extend (true, ...)
- 8. fonction inverse de FormatDateTime
- 9. fonction inverse de HttpUtility.ParseQueryString
- 10. Prolog: inverse ([], A) inverse (A, [])
- 11. Inverse DataTrigger?
- 12. Intégration Lift et Eclipse RCP
- 13. Calcul de matrice inverse Java
- 14. Est-ce que NumPy a un inverse de unravel_index()?
- 15. Quelle est la signification de ".. ::." en C#?
- 16. Quelle est la taille de User.Identity.Name?
- 17. Quelle est la gravité de ce code?
- 18. Quelle est la vitesse de simplexml_load_file()?
- 19. Quelle est la définition de HTTP_X_PURPOSE?
- 20. Quelle est la portée de ViewData Dictionary?
- 21. Quelle est la signification de $ cette
- 22. Quelle est la réciproque de CComboBox.GetItemData?
- 23. Quelle est la destination de sortie d'ofstream?
- 24. Quelle est la sécurité de SSH?
- 25. Quelle est la limite de IIS 6.0
- 26. Quelle est la dernière version de Lucene.net?
- 27. Quelle est la taille de System.Threading.Timer?
- 28. BitmapSource.CopyPixels -Quelle est la valeur de stride?
- 29. quelle est la signification de ce coredump?
- 30. Quelle est la licence de SubSonic?