docker / libkv

Distributed key/value store abstraction library
Apache License 2.0
854 stars 205 forks source link

When multiple etcd stores are passed to the API. Which one is given preference? #198

Open djain13 opened 6 years ago

djain13 commented 6 years ago

When multiple etcd stores are passed to the libkv API. Which one is given preference?

djain13 commented 6 years ago

After opening the issue. I dug a little deeper into etcd client code and documentation, here are my observations: As per etcd/client documentation(caveat section, https://github.com/coreos/etcd/tree/master/client) and some code investigation(client.go, Do() function), it looks like they randomize(shuffle) the given set of endpoints, pick the first one and continues to use that until it fails to respond. Later they pick the next one from the set of endpoints and continues to use that.

If my above understanding seems correct to libkv team? Feel free to close the issue.

Cheers Dharmesh