Forum Discussion

f5bill_8503's avatar
f5bill_8503
Icon for Nimbostratus rankNimbostratus
Oct 02, 2008

Affinity | session persistence

I'm looking for a solution to the mega-proxy issue, IOW, if several clients are connecting via the same source IP and all get passed to the same node.

 

 

Is there a method of using the full tcp socket (source IP + source tcp port) to make affinity decisions? Or some other mechanism to distribute each client (sourcing from the same IP) to be treated separately and sent to next available node as per the pool's algorithm vs. all on the same host (which is bad)?

 

 

Any help is appreciated. Thank you.

 

 

-b

 

 

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    What protocol is the traffic?

     

     

    If it's HTTP traffic, the ideal solution is to use cookie insert persistence. This allows you to persist based on individual browser sessions. If it's another protocol, you could try a similar approach of inserting a token in the response that the individual client would include in subsequent requests and then persist on that token. If that's not possible, I think you're stuck with considering all clients who connect from mega-proxy subnets as a single client. You could configure the load balancing algorithm to least connections to try to alleviate the clumping, but it wouldn't necessarily solve the problem.

     

     

    Aaron
  • Hmm, I'll have to investigate what is required to insert a token. This is a problem we've seen with open source load balancing products (software) that I thought, according to my recollection, was handled much more elequently in hardware.

     

     

    Any experience with Oracle and Jinitiator with regards to session persistence?

     

     

    -b

     

  • Well, here's a point that I'm not real clear on so please excuse my ignorance. The sessions I'm mostly concerned with are Oracle jinitiator sessions (Oracle Web Forms), I believe this is done via a plugin or activeX control depending on the flavor of browser. The traffic is TCP, I believe it's http, but I'm not sure if the code for the forms is using cookies. The other traffic is apache/tomcat - pretty strightforward there I would assume.

     

     

    -b

     

  • Where do I find documentation on the cookie insert mechanism? I have a similar situation and would like to read up in some more detail on how cookie insert works, as well as having a reference to provide my F5 admin.

     

    Thanks!
  • b: It looks like jinitiator traffic can be tcp/ip sockets, http, or https. It'll be fairly important to figure out what the traffic type is before we try and figure out what your persistence options are. HTTP/S will leave you the most options for sure.

     

     

    dj: check on ask.f5.com for all of the details (manuals, solutions, etc.) on the cookie persistence mechanism used by BigIP.

     

     

    -Matt