Forum Discussion

gn_105213's avatar
gn_105213
Icon for Nimbostratus rankNimbostratus
May 06, 2009

Looking for an IRule to handle persistence for MSISDN and Jsession ID Requests

We are having a Network set up where we have 6 pool of Servers sitting behind the F5 Load Balancer (F5-LTM 3400).

 

 

In this setup , I am looking to have a single or multiple IRules to handle persistence for following type of Requests hitting the LB from outside and then F5 doing the loadbalancing with persistence among 6 servers :-

 

 

1) Requests hitting F5 with MSISDN No.

 

 

In this case , looking for an IRule so that Requests should get Load Balanced with persistence among 6 servers based on MSISDN No.

 

 

 

2) Requests hitting with Jsession ID and without MSISDN No.

 

 

In this case , if requests are coming with Jsession ID and without MSISDN No. , then Requests should get Load Balanced with persistence among 6 servers based on Jsession ID

 

 

 

3) Requests coming without both MSISDN No. and Jsession ID.

 

 

If both MSISDN and Jsession ID are not present in the request then there should be a fallback persistence on the basis of which requests should get loadbalanced with persistence based on say Source Address.

 

 

 

Looking for suggestions if anybody has implemented the above or have some idea.

 

 

Regards

 

Gaurav Narula
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi Gaurav,

     

     

    Have you had a chance to review the suggestions and links cmbhatt added in this post (Click here)?

     

     

    Aaron
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    I assume the MSISDN is found in an HTTP header? If so you would want to start with the jsessionid iRule as an example and expand from there to first check for the MSISDN, then the jsessionid in a cookie or URI, and default to source address persistence. You can use the persist command (Click here) to specify the persistence method. For the MSISDN and jsessionid you would use persist uie. For source address, you would use persist source_addr.

     

     

    The jsessionid example won't do all of this as is, but it should give you a good start point.

     

     

    Aaron