Hi
What's best practice for distributing the load between webservices on
different computers? What I'd like is for a client to always select the
webservice with the least load, I.e. If one is idle then that one should be
selected, otherwise one working on a job with less priority than mine should
be selected and the job currently running should be paused.
Is there a pattern/best practice for doing this??
TIA
S?ren
MasterGaurav - 02 Mar 2005 13:49 GMT
In a web-farm, the load-balancer should do it for you (load part).
However, if priority comes into picture, you may need to have your own
load-balancer which proxies in front of the web-service-farm.
Not sure if anything is available out-of-the-box.
--
Cheers,
Gaurav Vaish
http://www.mastergaurav.org
http://mastergaurav.blogspot.com
--------------------------------
Dilip Krishnan - 02 Mar 2005 15:19 GMT
Hello Søren,
Essentially if you want a software load balancer you would need to consider
FrontController pattern in .net. Having said that, I'd say there is a lot
of things you need to think about when you decide to do this. Things that
jump to mind are how do you pass along credentials for authentication and
authorization to the balanced endpoints? Its possible but rather tedious
to have jobs created executed and paused based on priority in web service
land. What you need to consider for doing something thats more task oriented
is create a windows service. IMO, you could create a non-loadbalanced web
service that sends requests to a queue and have a windows service that picks
tasks and allocates tasks to worker threads that you can now control and
prioritize
HTH
Regards,
Dilip Krishnan
MCAD, MCSD.net
dkrishnan at geniant dot com
http://www.geniant.com
> Hi
>
[quoted text clipped - 10 lines]
>
> Søren