How to manage SOAP requests to a pool of VM each listening on a HTTP port with a priority value in these requests?

I have a front SOAP web-server under Linux.

It will have to communicate with Windows Servers VM listening each on a HTTP port, for a HTTP POST request. The chosen VM should return a report of a task to the SOAP client.

In the SOAP requests, there’s a special variable : the priority of the request (kind of SLA), and my question is coming right now :

I think of using a software (nginx, HAProxy, HeartBeat…) that can manage priority in this point of view. Is it relevant or do you think I need to implement a queue by myself with some specific developments?

Ex:

  • I have a SOAP requests with low priority in the pipe : the weight priority for these VM should be decreased if I have high priority SOAP requests at the same time.

Any clue will be really appreciated.

Answer

Some guys on #perl on irc.freenode.org recommend me to use a event-based framework like POE

  1. read request
  2. decode the payload
  3. figure out the priority
  4. push it to one of the servers

Attribution
Source : Link , Question Author : Gilles Quenot , Answer Author : Gilles Quenot

Leave a Comment