Tej*_*eni 11 java scala comet lift reverse-ajax
我最近学习了scala并即将开始工作/学习Lift框架.通过功能并开始使用框架,我已经看到了框架的一些惊人功能,包括反向ajax和彗星.在我的经验早期,对于从未缩放的反向ajax,我确实遇到了非常糟糕的经历.如果我为任何开发选择提升框架,这将是原因.我的问题是技术和产品的成熟程度以及在tomcat上使用lift的可扩展性有多大?与servlet规范3.0相比哪一个更好用于此目的,等待servlet规范3.0或开始使用lift?
Dan*_*wak 13
反向AJAX 是 Comet.对于同样的事情,他们只是两个不同的名字.至于你问题的根源......
Lift's Comet支持的可扩展性很大程度上取决于servlet容器.你真的需要一个本机支持continuation的容器.Jetty是我熟悉的,但我很确定还有其他人.通过在容器级别提供持续支持,您可以避免锁定每个客户端的线程,这是Comet的大部分可伸缩性问题所源自的地方.
在可伸缩性的其他领域,Lift CometActor是围绕具有活动长轮询的单个客户端的通用抽象.因为这个抽象是一个actor,所以它可以在现有的actor框架内处理(Scala stdlib for Lift 1.0.x,或者Lift actor on 2.0).这也避免了线程扩展的问题,并确保挂起的更新将以有序的方式排队.
简而言之,Lift的Comet支持与Comet一样可扩展.当然,与该技术相关的固有开销.你永远不可能避免每个客户端至少提交一个套接字.但是,Lift(连同启用延续的容器)能够立即减轻任何非必要的开销.