Is there a way to limit the number of sticky connections to a single server?
I would like to have all traffic to a given virtual host tend to end up on
the same backend server, but also allow the traffic to spread to multiple
servers if more than say 50 connections are already stuck to a given
server.  I do need sessions from individual ips to stay stuck, just new
sessions from new ips to stick to a different host.  I've considered a few
options, but none of them seem to work.

The first option I tried was:

hash-type consistent
listen http
  balance hdr(host)
  stick-table type ip size 1000000 expire 60s
  stick on src
  server www01 127.0.0.1 check observe layer7
  server www02 127.0.0.2 check observe layer7
  server www03 127.0.0.3 check observe layer7

The problem with this is that all requests for 'host' seem to always route
to the same backend node unless it fails out entirely and then it all moves
to another single node.  Perhaps that shouldn't surprise me, but it did.

I then considered this setup:

listen http
  balance roundrobin
  stick-table type ip size 1000000 expire 60s
  stick on hdr(host)
  server www01 127.0.0.1 check observe layer7
  server www02 127.0.0.2 check observe layer7
  server www03 127.0.0.3 check observe layer7

This also doesn't work and seems to result in basically the same thing as
the first.

I've been reading through the docs, and I can't seem to come up with any
way to do what I am trying to accomplish.  I'm guessing that is because
there is not.  But I figured I would throw this out to the list before I
scrap my plan and take a different route.  Thanks!

-- 
Michael Johnson - MJ

Reply via email to