diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..6b8710a71 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.git diff --git a/Documentation/api.md b/Documentation/api.md index c928ebf22..ab2a83afa 100644 --- a/Documentation/api.md +++ b/Documentation/api.md @@ -224,7 +224,7 @@ curl -L http://127.0.0.1:4001/v2/keys/foo -XPUT -d value=bar -d ttl= -d prevExis "key": "/foo", "modifiedIndex": 6, "value": "bar" - } + }, "prevNode": { "createdIndex": 5, "expiration": "2013-12-04T12:01:21.874888581-08:00", @@ -417,7 +417,7 @@ curl 'http://127.0.0.1:4001/v2/keys/dir/asdf?consistent=true&wait=true' "dir":true, "modifiedIndex": 17, "expiration": "2013-12-11T10:39:35.689275857-08:00" - }, + } } ``` diff --git a/Documentation/clients-matrix.md b/Documentation/clients-matrix.md index 10bb141e2..1f180d7d9 100644 --- a/Documentation/clients-matrix.md +++ b/Documentation/clients-matrix.md @@ -12,7 +12,6 @@ Clients supporting only the API version 1 - [russellhaering/txetcd](https://github.com/russellhaering/txetcd) Python - [iconara/etcd-rb](https://github.com/iconara/etcd-rb) Ruby - [jpfuentes2/etcd-ruby](https://github.com/jpfuentes2/etcd-ruby) Ruby -- [aterreno/etcd-clojure](https://github.com/aterreno/etcd-clojure) Clojure - [marshall-lee/etcd.erl](https://github.com/marshall-lee/etcd.erl) Erlang @@ -29,16 +28,16 @@ The v2 API has a lot of features, we will categorize them in a few categories: ### Supported features matrix -| Client| [go-etcd](https://github.com/coreos/go-etcd) | [jetcd](https://github.com/diwakergupta/jetcd) | [python-etcd](https://github.com/jplana/python-etcd) | [python-etcd-client](https://github.com/dsoprea/PythonEtcdClient) | [node-etcd](https://github.com/stianeikeland/node-etcd) | [nodejs-etcd](https://github.com/lavagetto/nodejs-etcd) | [etcd-ruby](https://github.com/ranjib/etcd-ruby) | [etcd-api](https://github.com/jdarcy/etcd-api) | [cetcd](https://github.com/dwwoelfel/cetcd) | [clj-etcd](https://github.com/rthomas/clj-etcd) | [etcetera](https://github.com/drusellers/etcetera)| [Etcd.jl](https://github.com/forio/Etcd.jl) | [p5-etcd](https://metacpan.org/release/Etcd) | [etcdcpp](https://github.com/edwardcapriolo/etcdcpp) -| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| **HTTPS Auth** | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | -| **Reconnect** | Y | - | Y | Y | - | - | - | Y | - | - | - | - | - | - | -| **Mod/Lock** | - | - | Y | Y | - | - | - | - | - | - | - | Y | - | - | -| **Mod/Leader** | - | - | - | Y | - | - | - | - | - | - | - | Y | - | - | -| **GET Features** | F | B | F | F | F | F | F | B | F | G | F | F | F | F | -| **PUT Features** | F | B | F | F | F | F | F | G | F | G | F | F | F | F | -| **POST Features** | F | - | F | F | - | F | F | - | - | - | F | F | F | G | -| **DEL Features** | F | B | F | F | F | F | F | B | G | B | F | F | F | - | +| Client| [go-etcd](https://github.com/coreos/go-etcd) | [jetcd](https://github.com/diwakergupta/jetcd) | [python-etcd](https://github.com/jplana/python-etcd) | [python-etcd-client](https://github.com/dsoprea/PythonEtcdClient) | [node-etcd](https://github.com/stianeikeland/node-etcd) | [nodejs-etcd](https://github.com/lavagetto/nodejs-etcd) | [etcd-ruby](https://github.com/ranjib/etcd-ruby) | [etcd-api](https://github.com/jdarcy/etcd-api) | [cetcd](https://github.com/dwwoelfel/cetcd) | [clj-etcd](https://github.com/rthomas/clj-etcd) | [etcetera](https://github.com/drusellers/etcetera)| [Etcd.jl](https://github.com/forio/Etcd.jl) | [p5-etcd](https://metacpan.org/release/Etcd) | [etcdcpp](https://github.com/edwardcapriolo/etcdcpp) | [etcd-clojure](https://github.com/aterreno/etcd-clojure) +| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| **HTTPS Auth** | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | +| **Reconnect** | Y | - | Y | Y | - | - | - | Y | - | - | - | - | - | - | - | +| **Mod/Lock** | - | - | Y | Y | - | - | - | - | - | - | - | Y | - | - | - | +| **Mod/Leader** | - | - | - | Y | - | - | - | - | - | - | - | Y | - | - | - | +| **GET Features** | F | B | F | F | F | F | F | B | F | G | F | F | F | F | F | +| **PUT Features** | F | B | F | F | F | F | F | G | F | G | F | F | F | F | F | +| **POST Features** | F | - | F | F | - | F | F | - | - | - | F | F | F | G | F | +| **DEL Features** | F | B | F | F | F | F | F | B | G | B | F | F | F | - | F | **Legend** diff --git a/Documentation/tuning.md b/Documentation/tuning.md index 8d518c8cc..c9899a525 100644 --- a/Documentation/tuning.md +++ b/Documentation/tuning.md @@ -3,6 +3,8 @@ The default settings in etcd should work well for installations on a local network where the average network latency is low. However, when using etcd across multiple data centers or over networks with high latency you may need to tweak the heartbeat interval and election timeout settings. +The network isn't the only source of latency. Each request and response may be impacted by slow disks on both the leader and follower. Each of these timeouts represents the total time from request to successful response from the other machine. + ### Time Parameters The underlying distributed consensus protocol relies on two separate time parameters to ensure that nodes can handoff leadership if one stalls or goes offline.