Forum Discussion
Rob_Eberhardt_1
Sep 25, 2006Historic F5 Account
Need help with intelligent re-loadbalancing
I've got a situation in which I need to round robin load balance requests between 2 server domains with 2 servers in each domain. Issue is, using persistence, in the case that one server fails in any domain - users that were on that failed server need to be flipped over to the other server in that same domain. If both servers in a single domain were to fail, then requests would be sent to the other domain. There's really not much of a unique identifier on the Domain servers outside of their IP addresses (i.e. no special ID's or unique replies upon requests) Here's an example:
Request 1 from Client 1 would goto Domain 1, Server A (standard Round Robin)
Request 2 from Client 2 would goto Domain 1, Server B (standard Round Robin)
Reuqest 3 from Client 3 would goto Domain 2, Server A (standard Round Robin)
Request 4 from Client 4 would goto Domain 2, Server B (standard Round Robin)
Request 5 from Client 4 would go back to Domain 2, Server B (source address persistence)
Then server B in Domain 2 fails
Request 6 from Client 4 would be sent to Domain 2, Server A (Keep request in the same domain, re-establish persistence to Server A)
Then server A in Domain 2 fails
Request 7 from Client 4 would be sent to next available server in Domain 1
So as of now, I have setup all 4 servers in a single pool with Round Robin Load balancing, source address persistence, and a basic HTTP monitor. This works for now, but I am a bit stumped on how to accomplish the intelligent re-load balancing in the case of a failure.
Many thanks in advance!
2 Replies
- The_Bhattman
Nimbostratus
Perhaps you can configure the pools using priority load balancing with round robin.
Pool_Domain_1 (Minimum of 1 Active Members at a time)
Domain1ServerA Priority 100 (active)
Domain1ServerB Priority 100 (active)
Domain2ServerA Priority 50 (inactive)
Domain2ServerB Priority 25 (inactive)
Pool_domain_2 (Minimum of 1 Active Members in a pool active)
Domain2ServerA Priority 100 (active)
Domain2ServerB Priority 100 (active)
Domain1ServerA Priority 50 (inactive)
Domain1ServerB Priority 25 (inactive)
In this scenerio of if Domain1serverA goes down requests are sent to Domain1serverB. If that goes down then Domain2ServerA is activated.
In another scenerio if Domain2ServerA goes down, requests are sent to Domain2ServerB. If that does down then Domain1ServerA is activated.
I hope this helps. - The_Bhattman
Nimbostratus
Just to add that if you have persistance turned on then the connections do not automatically return DomainNServerN, where N is a number, comes back up from being down. What it does is keeps new connections from forming and overtime sends it back to the original servers in the priority group.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects