Martijn wrote:
I'm currently looking into AxKit2 again, this time with the ultimate
(and hopefully not-so-long-term) goal of converting our web server to
run on AxKit2 (with an Apache front-end that is). Now that I have a
better understanding of how AxKit2 works, I am quite excited about it
and am already looking forward to developing some new modules. One
thing that I don't understand though is how continuations work. The
way I read it, but I may very well be wrong, the AxKit server can do
one thing at a time. Doesn't this mean that it can also do one XSLT
transformation or XSP interpretation at a time so if someone requests
a 'heavy' page than no one else will be able to access the AxKit
server?
Yes, one thing at a time. So, if you have something that takes a long
time to complete, no other clients will be served or indeed be able to
connect. However, with asynch IO (AIO) enabled, most stuff is _very_ fast.
With AIO you can asynch fds, sockets, file handles etc. This is fine for
static files and even xslt, the problem is with anything that isn't
asynchable. I had that problem with my app. The app had to go to a
database for every request. This is fine for most requests, but you only
need one slow request to break it. So, what I have is an axkit2 front
end that sends requests to a perl rpc server (Net::Server).
The rpc server just takes requests and returns xml. Ax2 listens for
requests asynch and sends requests and receives xml results asynch too.
All the web stuff is in ax2, all the app logic is in the rpc server. It
should also be scalable, I can in theory easily put the rpc server on
multiple boxes, as well as the ax2 server.
John
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]