-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
etcd service watcher #35
Comments
hi! i would definitely be interested in having etcd watchers for synapse as well as etcd publisher in nerve. the nerve part would require some refactoring since we only support a single type of reporter ATM. let me know how i can help! |
+1 |
https://github.com/ranjib/etcd-ruby supports the v2 etcd protocol. I too would be interested in this. |
+1 |
2 similar comments
+1 |
+1 |
I am interested in this feature as well. |
+1 I see PR #58 implements this. |
https://github.com/GoToAssist/synapse/blob/master/synapse/lib/synapse/service_watcher/etcd.rb seems to be the most mature fork AFAICS |
As a status update, I'm working on merging #58 with @bobtfish, but we've run into some fun issues with etcd 2.0 version incompatibility and how etcd seems to not implement proper ephemeral nodes ... I think that even if we did merge the etcd reporter I'm concerned about scalability until they have proper ephemeral nodes. I'm worried smartstack can't scale too far on etcd since you have O(#servers * #services) writes and O(#servers * #services * a lot) reads compared to zookeepers O(#changes) writes and O(#changes) reads from zookeeper. We'll probably end up merging it, but I probably wouldn't recommend it in a deployment of more than 1k servers. |
etcd ephemeral nodes: etcd-io/etcd#1232 |
https://github.com/coreos/etcd is "a highly-available key value store for shared configuration and service discovery", similar to zookeeper.
etcd has a REST API, and there are already Ruby libraries ( https://github.com/ranjib/etcd-ruby , https://github.com/iconara/etcd-rb ) to varying levels of maturity/completeness.
The text was updated successfully, but these errors were encountered: