On 20 Oct 2008, at 17:31, Asankha C. Perera wrote:
Michele
I think you misunderstood my requirements.
I have different clusters (i.e. bunch of machines) exposing a
certain number of web services. Each cluster has its own load
balancer, policies, etc.
What I want is add another layer of indirection. Requests will
pass through synapse and will be forwarded to the load balancers,
according to my own policies. I want to be able to dynamically add
new clusters at runtime.
The final scenario is:
Synapse------------>LB1--------> cluster 1
------------>LB2 -------> cluster 2
etc.
That is, clients send requests to the synapse machine, which will
forward them to a certain load balancer LBn, which in turn will
forward them to certain servers for execution.
If all you want to do is have the ability dynamically route, you
can easily use the DBLookup mediator, and lookup from a [dynamic]
DB table on the target destination for a request, and forward it
accordingly. This way, adding/removing rows to the table will
result in your requirement
No, this won't scale if the number of messages passing through
Synapse is high, because every time I should query the DB.
Michele
asankha