Support work with etcd as a cluster

In case if one member of a cluster is not available it will retry with
another one and fetch the new cluster configuration. Default timeout for
all requests to etcd is 5 seconds.
Initial cluster configuration can be resolved through:
1) /v2/members call on one of the cluster members on a client port
2) when it is possible to resolve hostname into multiple ip's  it will
iterate through list and try to perform action from 1)
3) If there is discovery_srv defined in etcd section of config file it
will resolve peer addresses of all cluster members and will fetch
cluster configuration with using peer protocol by doing /members call on
a peer port
This commit is contained in:
Alexander Kukushkin
2015-06-09 09:51:53 +02:00
parent fad2fbeae0
commit c79fba7656
12 changed files with 299 additions and 59 deletions
+1
View File
@@ -6,6 +6,7 @@ etcd:
scope: batman
ttl: 30
host: 127.0.0.1:4001
#discovery_srv: my-etcd.domain
postgresql:
name: postgresql1
listen: 127.0.0.1:5433