perlbal use case question

Michael Engelhart 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.

Some background:
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?

Thanks
Mike


More information about the perlbal mailing list