Forum Discussion

MustphaBassim's avatar
Dec 07, 2024

Load Balancing for 3 app

Hello Dears

 

I have three servers each one has it is own application installated on it all of them are sharing the same DB each application has redis cache service , we are in need to make the F5 device doing the load balance between the three apps so when the user start the session would reach one of them and complete the process and end the session with same server while the second user would go to second server ... etc take in mind all users would be seen as single ip address as source 

any suggestions ?

 

Best Regards

  • zamroni777's avatar
    zamroni777
    Dec 10, 2024

    there should be session key/id created by either the client or server.
    use f5 universal persistence and feed above sesssion id as the persistence key.

    i had similar thing for sap-avaya integration.
    i had to extract api session key from server's http response payload as universal persistence key.

    https://my.f5.com/manage/s/article/K7392

  • is it 3 apps or 3 servers?

    if it is 3 apps which each app is handle by distinct f5 vserver,
    then create a custom persistence profile then assign it to the 3 vservers.

    that custom persistence profile need to have Match Across Virtual Servers enabled.

    you can use cookie hash instead of source ip based persistence as f5 is usually behind nat firewall and dont see the client ip address.

    https://my.f5.com/manage/s/article/K5837#server

     

  • Hello Dear

     

    no they are on the same VS using the same pool , what do you recommend for that ?

     

    Bests

  • If the applications are all HTTP(S) based and you have SSL offloading configured on the F5 BIG-IP virtual server, then you could just try applying a cookie persistence profile on the virtual server. You may also want to apply a OneConnect profile so that the BIG-IP load balances on every HTTP request rather than once per TCP connection.

    • MustphaBassim's avatar
      MustphaBassim
      Icon for Cirrus rankCirrus

      the traffic is API based not https based the real prob elm is that in order to complete the process the end user must pass more than 8 APIs so when the end user jump from one node to another here the redis cache of the second server is not know what is the current status and the end user got an error (the customer is not exists) while some of his info is on the first app 

      • zamroni777's avatar
        zamroni777
        Icon for Nacreous rankNacreous

        there should be session key/id created by either the client or server.
        use f5 universal persistence and feed above sesssion id as the persistence key.

        i had similar thing for sap-avaya integration.
        i had to extract api session key from server's http response payload as universal persistence key.

        https://my.f5.com/manage/s/article/K7392