Forum Discussion

iaine's avatar
iaine
Icon for Nacreous rankNacreous
Feb 27, 2009

Persistence to a server for Web and Flash content

Hello

 

 

We have 3 servers, all are running both Web content and Flash content, all servers have two IP addresses bound to them with Flash on one address, web on the other.

 

 

Is there any way that any one can think of that I can make multiple sessions from the same client go to the same physical server when they are pulling off both web and flash content?

 

 

Rgds, Iain

5 Replies

  • If the pair of web and flash servers that you want to persist clients to are bound to different virtual hosts on different IP addresses using source IP address persistence probable won't work. If you could change them to listen on different ports but the same IP address, you could probably use source address persistence with Match Across Services enabled (Click here), two different pools (one for flash requests and one for web requests) and an iRule or a pair of HTTP classes which specify the pool based on the request type.

     

     

    Aaron
  • Thanks for the replies chaps

     

     

    Both the flash and web content need to be on port 80, hence having two ip addresses bound to the server. Also, web content is on one domain (eg web.bob.com) and flash is on another (flash.bob.com).

     

     

    If I use a single VS for this and then split up the traffic based on (for instance) domain name to go to either the flash or web pools. Can I still achieve persistance to the same physical server given that the ip address of the node is going to be different for both web and flash request on the same server? Unless I'm missing something fundamental here, this is the part that I can't grasp.

     

     

    If the flash content is using RTMPT with cookies enabled, can I do something like use an irule that makes routing decisions for the flash domain based on the persistence cookie, assuming that the call for the flash content passes this cookie.

     

     

    The flash boys are still setting up their test servers at the moment so I can't currently test, am just trying to get ahead of the game.
  • Deb_Allen_18's avatar
    Deb_Allen_18
    Historic F5 Account
    Aaron is right, it's more complicated that it would appear at first blush. Silo persistence for applets running on the same server/same IP, varying on port, is commonly implemented. Varying on IP but still requiring persistence to the same physical server is an uncommon requirement, I'd guess because it is difficult to implement and easy to work around in most cases.

     

     

    I'd double check the requirement that both services must run on port 80. Understandable if you want the clients to connect on port 80 for both hostnames, but that doesn't mean you can't have LTM perform port translation for one app so both can run on the same IP address, different ports, then apply persist across services. That's the most commonly implemented silo persistence scenario.

     

     

    Failing that, perhaps there is something common to the server responses in each pool that could be used as a persistence token? A session ID of any description would fit the bill.

     

     

    HTH

     

    /d
  • Hi Deb,

     

     

    Thanks for the feedback. The session ID option might be promising.

     

     

    Aaron
  • Thanks all for their input, it's much appreciated - the test servers are almost ready for me.....i'll post back when i can see some data