ISICO-14127: roundrobin requests to dynomite nodes #156
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.
Problem:
In our case, all nodes in dynomite cluster are replicas without any sharding. So we are using same Token for all 3 nodes. By default load balancing strategy used by Dyno client is TokenAware. Also local rack affinity(availabilityZone) set to us-east-1a. As a result all the requests will go to one node that exists in us-east-1a.
Solution:
Configure Dyno client to use RoundRobin strategy. But In our topology we have only one node per rack and availabilityZone(localRack) set to a rack. Even after setting LBStrategy to Roundrobin, Dyno client will try to distribute within the localRack, which results in all requests going to that one node in that specific rack.
Given the above topology, for roundrobin LB strategy to work we need to set availabilityZone to null. So that there is no localRack affinity and requests get distributed.