On Sun, Nov 29, 2009 at 7:21 PM, jim <[email protected]> wrote:

> I finally got time to find the bug in my web application framework.
> Here is the code to the framework:
>
> http://intensivesystems.net/tutorials/code/web_session.clj


This does indeed look cool, but here's the problem I have with all of the
continuation-style web-frameworks: they do not scale.  This is to say in a
web-server farm setting you need a workable stickiness approach since you
always have to be routed back to the machine with the continuation you need.
 So:

   - In the case of machine or process failure all state information is
   lost.
   - It is pretty easy to wind up with a very unbalanced web farm as due to
   the randomness of user activity it is possible to have all of your active
   users load-balanced onto only a few machines.
   - If you force-ably load balance based on session count you can easily
   under-utilize your web farm.
   - Since one of the benefits of continuation-based web frameworks is the
   amount and richness of the data that can be "transferred" between pages, but
   this (potentially lots of data) coupled with the problems listed above, can
   become a serious problem under certain (potentially not-predictable)
   circumstances.

Clearly what would be desired is portable continuations that can be loaded
on any machine and/or duplicated/replicated for failure cases.

This said, the web_session code is cool, but any thoughts on addressing the
more general problems?

-- 
Jim Powers

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to