2010-02-14 3 views
11

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

13

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.