Wednesday, May 16. 2007How lift uses Scala actorsTrackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
Hi,
I'm a Java programmer and I have to say that I like Scala language more and more. I'm working mostly in Java enterprise space and from the perspective of web applications I'm using JSF. Of course liftweb drawn my attention but tere is one thing that puzzles me: I'm aware of the efficiency of scala actors and I understand that lift uses them to increase scalability but then again lift relies on a J2EE/Java EE web container which does all the thread management by its own thread pool etc. So given the nature of blocking IO functionality that container is using how if liftweb more scalable than say a JSP based web app (let's leave JSF aside for now) ? ... so in other words how can it be more scalable since it relies on the very same parallelization model imposed by container thread management. Br's, Marius
Marius,
lift apps are no more scalable than any other well written Servlet. What lift apps can do is take advantage of Jetty continuations by default (so threads aren't blocking during Jetty requests.) Put another way, I believe that a reasonable lift based web application will scale better than a reasonably Java app because it's easier to do the right things with lift than it is with Java and Struts or JSF. Thanks, David
Read this paper
http://lambda-the-ultimate.org/node/2081 Scala won't be more scalable if you're doing a lot of concurrent IO operations in actors, those will block the threads. Where scala will be very scalable is implementing the sort of concurrent message passing patterns that Erlang is famous for. Basically, actor A sends message to actor B where actor A and B are executing concurrently and neither blocks the other. |
David PollakCalendar
QuicksearchCategoriesBlog Administration |
||||||||||||||||||||||||||||||||||||||||||