Hi all,

we are using Apache as reverse proxy for TLS offloading and routing REST 
Requests. Our user data is split into two backend instances, where only one of 
the instances can serve the data for each user. Each instance is served by two 
(redundant) webservices and it does not matter which webservice for each 
instance is used.
Using the session ID for routing is working, however the proxy does not 
distribute requests between members with the identical route. Instead it is 
always using the first member with the route ID.
Is there any setup that distributes the requests with identical route IDs 
equally to all servers with the same route  to distribute the work load and 
have redundancy for each instance as well?

We are using:
Ubuntu 16.04
Server version: Apache/2.4.18 (Ubuntu)
Server built:   2016-07-14T12:32:26

Here is the balancer setup we use

Define CONNECTION_OPTIONS "loadfactor=100 min=10 max=300 smax=20 acquire=10000 
connectiontimeout=10 disablereuse=off keepalive=on timeout=120 ttl=800 retry=20"
<Proxy "balancer://mywebservice">
   BalancerMember "ajp://192.168.200.10:8080" route=Instance1 
${CONNECTION_OPTIONS}
   BalancerMember "ajp://192.168.200.11:8080" route=Instance1 ${CONNECTION_ 
OPTIONS}

   BalancerMember "ajp:// 192.168.200.20:8080" route=Instance2 ${CONNECTION_ 
OPTIONS}
   BalancerMember "ajp:// 192.168.200.21:8080" route=Instance2 ${CONNECTION_ 
OPTIONS}

   ProxySet stickysession=ROUTEID
   ProxySet lbmethod=bybusyness
   ProxySet nofailover=On
</Proxy>

All requests with Instance1 end up on ajp://192.168.200.10:8080. The second 
server for this instance (ajp://192.168.200.11:8080) is not receiving a single 
request.
And identical for instance2 ajp://192.168.200.20:8080 is receiving all requests 
and server two (ajp://192.168.200.21:8080) is receiving none.

We are using "ProxySet nofailover" to ensure that requests to Instance1 will 
never end up on one of the servers of instance two and vice versa.

Any Ideas on how to deal with this?

Thanks

Chris




Reply via email to