GTM and LoadBalancing with transactional sessions (stateful) that need to persist on initial server
I have a dilemma regarding GTM and session persistence.
We have an APP that is in two datacenters. The app has been set for least connections LB and cookie persistence at the LTM level. The app is stateful and needs to stay on the same server it started on.
The problem we are having is that mid-transaction - it whips back and forth between datacenters and the client has to login again. Im positive that my GTM config is too basic.
We do not load balance at the WIP level.
We have a WIP which points to a SINGLE POOL doing Round Robin - The single POOL has VIP A in DATACENTER A VIP B in DATACENTER B
I've tried Round Robin (that's our problem) and Static Persist... the Static Persist seems to work the best and stops that from happening - but the load balancing is horrific... it sends 80 - 95% of the traffic to VIP A in DATACENTER A. I cant figure out what mechanism is being used to do that.
Im THINKING I need to do some fancy tooling with the config like this:
WIP load balancing TWO POOLS with Round Robin:
Pool 1 has: VIP A in DATACENTER A (PREFERRED) VIP B in DATACENTER B
Pool 2 has: VIP A in DATACENTER A VIP B in DATACENTER B (PREFERRED)
Pool is config'd for STATIC PERSIST Load Balancing so the sessions remain on that VIP and don't hop around.
The documentation that I have found for the GTM and STATIC PERSIST is really lacking in my opinion. Just a short writeup here that talks about mucking with the CIDR but absolutely vague with no examples:
https://support.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm-lb-configuring-11-5-0/2.html
Does anyone have any ideas how to keep distributing the traffic in a Round Robin type of way between datacenters, but keeping the client sessions on the same server once it starts there?