Software-based load-balancing + some of ESB tool for .NET. What are the options? (if any)
I need some piece of software that will fulfill the following functions:
1. Give a single endpoint to a client (abstracting it from several service endpoints) 2. Keep a queue of incoming requests 3. Balance load between several service endpoints on several machines 4. Control availability of these endpoints 5. Give client some readable error when the max CPS or max message queue size are reached 6. Give some msg processing time prediction based on queue size and known service endpoint performanceThis thing should be .NET-based and WCF-friendly. I think it开发者_StackOverflow社区 is some mixture of load-balancer and ESB. Can you please name any existing products (OSS projects) of such a type?
That is quite a shopping list. We use an Apache load balancer compiled for Windows 64 bit. It is simple to set up, cluster, and manage, but you need to use Http/Https as a transport.
It would satisfy items 1, 3, 4 on the list (50% out the box).
On other items, I am not aware of any existing product, so you would need to write a WCF Router type application to satisfy items 2, 5, 6, but be aware it may not be as robust as something like Apache load balancer.
Cheers
精彩评论