perlbal use case question
mike.engelhart at gmail.com
Tue Jun 10 14:34:05 UTC 2008
Hi all -
I'm looking into Perlbal to solve a particular problem with a new web
services platform that we're developing.
The main web services application is going to be running in Rails/
Mongrel with Apache sitting in front proxying requests (main reason
for Apache is that we need to do SSL transactions). This
application will be aggregating multiple external web services,
applying business rules for our clients and returning a homogenized
XML schema for them to process.
The main issue is that some of these external web service calls that
our application is making can take anywhere from 5-60 seconds to get a
response and a single incoming request could need to fire off as 4
external requests that we need to aggregate. I'm planning on using
some sort of message queue or maybe even a memcached based home grown
bit of code to handle the parallel processing.
What I would like to do is send off the requests to an extremely
lightweight process (looking into building a custom solution with Rack/
Mongrel right now as one possibility) that will do the blocking while
waiting for the XML response from the external web services and then
call back to Rails notifying it that all the calls have completed so
that we can do the XML aggregation and database related tasks and then
return the XML response back to our clients calling application.
So my thought after researching this some was that using Perlbal's
internal redirect (transparent to the caller) we could bounce back and
forth between the Rails stack and the lightweight, blocking web app
without the caller knowing.
Any ideas on if this is a suitable use for Perlbal?
More information about the perlbal