EUREKA-1149 Add injectable customizable EndpointRandomizer #1194
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.
This is another attempt to fix #1149. This time tried to take comments from #1151 into account.
Difficult thing here is that there are actually two randomizers across Eureka codebase. And the one that is used by DiscoveryClient ends up being just a call to static method. So I decided to not touch existing randomizer that is a field of DiscoveryClient (because I have no idea where can it be used) and introduced new field. This EndpointRandomizer is passed to ZoneAffinityClusterResolver through some chain of calls. I have left behavior unchanged, just made it customizeable.