Small change to allow failover incase a remote turns out to be unavailable #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I modified client_connection.rb to look at the result returned from the connect_error_callback - if true is returned - it will then start the connection process again - calling the connection block again. This means that a different backend (remote) can be given - and the client is none the wiser (not unlike what haproxy does).
There is also a load_balancer.rb which shows this in action. I also threw in that some randomiser-based weighted load balancing (something I am doing) - I tried randomising as it means that I don't have to have any shared state regardless of how many proxymachines I have running (of course I could count connections - but some other changes needed).
There may also be pictures of my dog, can't remember what else I included.
Would love any thoughts/feedback (I have a few alternative approaches I would like to try).