httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Georg <m...@christiangeorg.de>
Subject [users@httpd] Balancing between members with identical route
Date Sun, 26 Mar 2017 09:43:10 GMT
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





Mime
View raw message