It has worked decently well for us (ibiblio) for over a decade with various
caveats (eg. only the round robin seems to work reliably). What we’ve never
done before (to my knowledge is load balance HTTPS, and I’m trying to change
that, but I’m hitting a wall.
So what we see above is that for the http service (port 80) on the gutenberg
vip on the primary load balancer, we have three backend hosts that show up as
live and are handling connections nicely (~75 active, ~1300 inactive per
host). For https, however, we have no hosts. This is perplexing to me. We
should have one host (gutenweb3):
if [ "$RESULT" == "OK" ];then
echo -n OK
else
echo -n FAIL
## debug
#echo $RESULT
fi
So we have a service called “nanny” (aside: gendered and other problematic
terminology pops up all over the place in *nix work, but that is something I
will merely note but not address here given how long this post is already.)
and it is calling a silly little script. How is that script doing?
[root@lvs1 ~]# tail -n 5 /var/log/messages
Aug 5 11:04:14 lvs1 nanny[15629]: Trouble. Received results are not what we
expected from (172.27.205.28:443)
Aug 5 11:04:15 lvs1 nanny[15630]: Trouble. Received results are not what we
expected from (172.27.205.20:443)
Aug 5 11:04:24 lvs1 nanny[15628]: Trouble. Received results are not what we
expected from (172.27.205.27:443)
Aug 5 11:04:24 lvs1 nanny[15629]: Trouble. Received results are not what we
expected from (172.27.205.28:443)
Aug 5 11:04:25 lvs1 nanny[15630]: Trouble. Received results are not what we
expected from (172.27.205.20:443)