2012/1/25 Ian Price <ianpric...@googlemail.com>: >>> It would be if someone(nudge nudge) were to take the effort to make one >>> of these experiments practical, since a guile web framework seems to be >>> a common request. >> >> While i like the idea i should note that it does not scale. What if you >> have 5 application servers (guile (import (web server)) running behind >> reverse proxy. User may never fire needed continuation. Overall scaling >> strategy for web is "avoid per node state" (see read-only filesystems on >> Heroku). > > Well, no-one suggested that the current approach is practical. It isn't.
As long as you have some way to redirect the client back to the same application server things would scale quite well I think. You could embed some token identifying the application server in the URL which the reverse proxy could use to forward the request to the same application server instance. New user sessions would still be load-balanced using a round-robin scheme or something more sophisticated. Something even cooler would be to have serializable continuations like in Racket (but it requires limiting the language somewhat), in which case you could store the continuations in the URL (if they are not too big), or perhaps in some distributed hashtable that all application server instances could access. -Tobias