From 3351ea1ae227dad9280eab57c980c87d459e7d80 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Mon, 23 May 2016 11:59:23 -0700 Subject: [PATCH 1/3] Procfile: v3 as default --- Procfile | 5 +++-- V3DemoProcfile => V2Procfile | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) rename V3DemoProcfile => V2Procfile (60%) diff --git a/Procfile b/Procfile index 925910f2b..41dd49f1c 100644 --- a/Procfile +++ b/Procfile @@ -1,5 +1,6 @@ # Use goreman to run `go get github.com/mattn/goreman` -etcd1: bin/etcd --name infra1 --listen-client-urls http://127.0.0.1:12379 --advertise-client-urls http://127.0.0.1:12379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof +etcd1: bin/etcd --name infra1 --listen-client-urls http://127.0.0.1:2379 --advertise-client-urls http://127.0.0.1:2379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof etcd2: bin/etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --advertise-client-urls http://127.0.0.1:22379 --listen-peer-urls http://127.0.0.1:22380 --initial-advertise-peer-urls http://127.0.0.1:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof etcd3: bin/etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer-urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof -proxy: bin/etcd --name infra-proxy1 --proxy=on --listen-client-urls http://127.0.0.1:2379 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --enable-pprof +# in future, use proxy to listen on 2379 +#proxy: bin/etcd --name infra-proxy1 --proxy=on --listen-client-urls http://127.0.0.1:2378 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --enable-pprof diff --git a/V3DemoProcfile b/V2Procfile similarity index 60% rename from V3DemoProcfile rename to V2Procfile index 41dd49f1c..925910f2b 100644 --- a/V3DemoProcfile +++ b/V2Procfile @@ -1,6 +1,5 @@ # Use goreman to run `go get github.com/mattn/goreman` -etcd1: bin/etcd --name infra1 --listen-client-urls http://127.0.0.1:2379 --advertise-client-urls http://127.0.0.1:2379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof +etcd1: bin/etcd --name infra1 --listen-client-urls http://127.0.0.1:12379 --advertise-client-urls http://127.0.0.1:12379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof etcd2: bin/etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --advertise-client-urls http://127.0.0.1:22379 --listen-peer-urls http://127.0.0.1:22380 --initial-advertise-peer-urls http://127.0.0.1:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof etcd3: bin/etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer-urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof -# in future, use proxy to listen on 2379 -#proxy: bin/etcd --name infra-proxy1 --proxy=on --listen-client-urls http://127.0.0.1:2378 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --enable-pprof +proxy: bin/etcd --name infra-proxy1 --proxy=on --listen-client-urls http://127.0.0.1:2379 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --enable-pprof From d57164d0c8ef080d4157fab492a0f0141483087d Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Mon, 23 May 2016 12:00:03 -0700 Subject: [PATCH 2/3] README: throughput number in v3, add Doorman Our v3 benchmark shows etcd v3 can do 40k writes per second. 1k throughput number is for etcd v2. Also adds YouTube's doorman to example project lists. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7eec0b336..0aed67576 100644 --- a/README.md +++ b/README.md @@ -15,17 +15,18 @@ etcd is a distributed, consistent key-value store for shared configuration and s * *Simple*: well-defined, user-facing API (gRPC) * *Secure*: automatic TLS with optional client cert authentication -* *Fast*: benchmarked 1000s of writes/s per instance +* *Fast*: benchmarked 40,000 writes/sec per instance * *Reliable*: properly distributed using Raft etcd is written in Go and uses the [Raft][raft] consensus algorithm to manage a highly-available replicated log. -etcd is used [in production by many companies](./Documentation/production-users.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [fleet][fleet], [locksmith][locksmith], [vulcand][vulcand], and many others. +etcd is used [in production by many companies](./Documentation/production-users.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [fleet][fleet], [locksmith][locksmith], [vulcand][vulcand], [Doorman][doorman], and many others. See [etcdctl][etcdctl] for a simple command line client. [raft]: https://raft.github.io/ [k8s]: http://kubernetes.io/ +[doorman]: https://github.com/youtube/doorman [fleet]: https://github.com/coreos/fleet [locksmith]: https://github.com/coreos/locksmith [vulcand]: https://github.com/vulcand/vulcand From fd7685f3a1591ad396d63ad9b331564e4fccd8f7 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Mon, 23 May 2016 12:01:38 -0700 Subject: [PATCH 3/3] Documentation: add clientv3 links to libraries --- Documentation/libraries-and-tools.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/libraries-and-tools.md b/Documentation/libraries-and-tools.md index 2644a57b9..3a7951650 100644 --- a/Documentation/libraries-and-tools.md +++ b/Documentation/libraries-and-tools.md @@ -17,7 +17,8 @@ **Go libraries** -- [etcd/client](https://github.com/coreos/etcd/blob/master/client) - the officially maintained Go client +- [etcd/clientv3](https://github.com/coreos/etcd/blob/master/clientv3) - the officially maintained Go client for v3 +- [etcd/client](https://github.com/coreos/etcd/blob/master/client) - the officially maintained Go client for v2 - [go-etcd](https://github.com/coreos/go-etcd) - the deprecated official client. May be useful for older (<2.0.0) versions of etcd. **Java libraries**