Forum Discussion

John_Stevensen's avatar
John_Stevensen
Icon for Nimbostratus rankNimbostratus
Jan 22, 2018

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?

 

1 Reply

  • Hi,

    I know this is an old post, but still wanted to check if you found a solution for this. I am facing a similar problem, where I have a stateful application and the session is not being persisted in both data centers. Request is hopping from one DC to other and session information is getting lost. Can you please guide me on your approach for achieving session persistence. Also did you get a solution for load balancing.