views:

97

answers:

1

Hi all,

Is there a vetted Windows-friendly, or even .NET-native, load-distributing/load-balancing utility out there along the lines of HA Proxy? We have a .NET stack product, and the one piece that we step out of the stack is for load-balancing.

We need something with configurable rules for distribution -- perhaps subdomain-driven -- that NLB alone doesn't seem to offer. If it integrates directly with .NET, or offers an exposed API callable by webservices, so much the better!

Thanks in advance!

Clarification: we need to logically part over boxes. This is not just a cluster/failover/replication scenario.

Further clarification: we are a WCF house. We already have a custom router and inspectors on our grid. We need distribution on the frontend however, which is where HA Proxy currently lives in our architecture. However, we need something we don't have to write then test the heck out of, as we're about to wrap a release and no one has cycles to test something up to the level of an HA Proxy.

Candidate solution: I was previously unaware of IIS7+ Application Request Routing (ARR) which uses the URLRewrite module. I'm not familiar with anyone who can speak to ARR's performance and stability, perhaps a Stacker can help me out?

A: 

With .NET 4.0 we get the WCF Routing Service which looks to be a software based proxy we get out of the box, which could possibly be used to distribute load. It can do content based routing, protocol mediation (tcp/ip->http or https->http) and is likely extensible in some fashion.

Some resources to get started:

You can always start rolling your own using these articles by Bustamante:

HTH,

Z

Zach Bonham
Sorry, but nowhere close to what I'm looking for. We're a WCF house -- we have a SaaS/grid technology with smart (custom) routing, custom inspectors, discovery and balancing. We need distribution on the front end however, and we don't have time to implement something as robust as HA Proxy, which is why we're looking for an OOTB Win alternative, not to code our own solution.
andrewbadera
Also, as a product vendor, we can't hop on 4.0 yet, not with customers still, just now, making the transition into 3.5.
andrewbadera
no worries! :) didn't get all that from original post. I was thinking that you could still have the software proxy (routing service) sitting in front of your services tier (just like hardware) to distribute load. In that capacity, it could 'stand alone', as it were, and not really introduce dependencies anywhere else in the call chain.
Zach Bonham
Thanks for the input all the same! Offhand it looks/feels like an "easy" problem to write a solution for, but when you're standing next to HA Proxy, and it's a critical piece of a highly-available architecture, I guarantee that whatever "hey that does it!" first-swipe work I do will not "do it" "right enough" without an additional significant investment of time. Stuff like rule/algo implementation or rule engine implementation is guaranteed to eat me alive ...
andrewbadera