Jim Jagielski wrote:
I'm trying to figure out which impl of the the
LB cluster set makes the most sense and would appreciate
the feedback.

Basically, I see 2 different methods:

   1. Members in all cluster sets which have the same or
      lower set numbers are checked

   2. Only members is a specific set number are checked. If
      none are usable, skip to the next cluster set.

We have two different use cases for grouping. On is the case, where the targets keep some state and replicate the state only to some of the other targets. If the set of targets is split into disjoint replication groups, it would make sense to use any other member of the same replication group, in case the sticky member is dead. This situation might be used e.g. for a tomcat cluster, where we only can do one to all replication. So a huge cluster needs to be split into disjoint replication groups. So for a sticky situation and a request that contains a target ID, I think 2 makes the most sense.

In case the backends use a more elaborate replication scheme, mod_proxy_balancer would need some additional way of getting the information about replication members, like encoding them into the Cookie. Unfoirtunately, theres no standard for this.

If we are in a non-sticky session, or the request has no target ID, we are back to pure load-balancing (no routing). In this case I think there should be a way of expressing preferences for target workers. That's closer to number 1.

For mod_jk 1.2.18 we included "distance" as a measurement of preference for the non-sticky case (and the case, where we are sticky, but the wohle cluster set is down), and we have domain since about 2 years to configure replication sets.

I assume his is, what Mladen is after. So my answer would be: some of 1. and some of 2, depending on the request info and the target status.

I would love, if someone came up with a more consistent model.

Rainer

Reply via email to