etcd v3.0.0 于 2016年6月30日正式发布,标志着该版本正式稳定。
etcd v3 版本保留了 v2 的协议和api,所以v2和v3是共存的(用URL)区分,也就是说本质上,v2和v3是两个共享同一套raft协议代码的两个独立应用,它们的api不同,存储不同 甚至数据也是相互隔离的
如果从 v2 升级到 v3 那么原来 v2 的数据还是只能用 v2 的 api 来访问, 通过 v3 创建的数据也只能通过 v3 来访问
etcd v3.2 or before uses only [CLIENT-URL]/v3alpha/.
etcd v3.3 uses [CLIENT-URL]/v3beta/ while keeping [CLIENT-URL]/v3alpha/.
etcd v3.4 uses [CLIENT-URL]/v3/ while keeping [CLIENT-URL]/v3beta/. [CLIENT-URL]/v3alpha/ is deprecated.
etcd v3.5 or later uses only [CLIENT-URL]/v3/. [CLIENT-URL]/v3beta/ is deprecated.
例如 3.2 版本下
这里的 key 和 value 都必须是 base64的
echo "foo" | base64
echo "Zm9vCg==" | base64 -d
watch机制
curl -N http://localhost:2379/v3alpha/watch -X POST -d '{"create_request": {"key":"Zm9vCg=="} }' &
v3 的 watch 和 v2 还有一个很大不同就是,它默认就是长效watch,不再需要添加 stream=true