Forum Discussion

cjbarr1234's avatar
cjbarr1234
Icon for Altostratus rankAltostratus
Jan 26, 2016

Separate Persistence Profiles for a single VS, 3 Different Pools

Hello,

 

I am using ProxyPass Datagroups for a lot of my SaaS applications that I manage and load balance through the LTM. Based on the URI of the request, they are distributed to different web farms. EX.

 

If request contains "/123" then Pool A If request contains "/xyz" then Pool B "" ""

 

One of the issues I am facing is that Pool A would function better with Least Balanced Connections and Cookie Persistence. Pool B on the other hand relies on Session Persistence through Source_Address.

 

I need help writing an iRule that accomplishes the following. I don't necessarily care about what the cookie exactly is. We typically use the default parent profile for cookie management.

 

log local0. "[IP::client_addr][TCP::client_port]: New HTTP request to [HTTP::host][HTTP::uri]" Select pool and persistence based on URI switch -glob [HTTP::uri] { app1 "/" { Select A pool and session cookie persistence pool A_pool persist cookie log local0. "[IP::client_addr][TCP::client_port]: abc request" } app2 "/xyz" { Select abc pool and abc session cookie persistence pool xyz_pool persist source_addr log local0. "[IP::client_addr][TCP::client_port]: xyz request" } default case default { take some default action? log local0. "[IP::client_addr][TCP::client_port]: no match for [HTTP::host][HTTP::uri]" } } }

 

No RepliesBe the first to reply