乐趣区

关于后端:etcd的安装和使用

装置及启动

在 Mac 上,举荐应用 brew 装置

brew install etcd

能够应用 etcd 启动服务,但更举荐应用 brew services 来治理应用 brew 装置的利用~

# 启动某个利用,这里用 etcd 做演示
brew services start etcd

# 进行某个利用
brew services stop etcd

# 查看以后利用列表
# 能够看到相干利用的情况
brew services list 

相干操作

验证是否胜利启动:

etcdctl endpoint health

curl -L http://172.16.101.55:2379/health

查看版本:

curl http://127.0.0.1:2379/version

V3.4 版本之后默认是 V3 接口,不再反对 V2:

etcd v3 应用 gRPC 作为其消息传递协定。etcd 我的项目包含一个基于 gRPC 的 Go 客户端和一个命令行实用程序 etcdctl,用于通过 gRPC 与 etcd 集群进行通信。对于不反对 gRPC 的语言,etcd 提供了 JSON gRPC 网关。该网关提供一个 RESTful 代理,该代理将 HTTP/JSON 申请转换为 gRPC 音讯

ETCD v3 restful api 应用详解

v2 和 v3 接口差别较大, 如果想持续应用 v2, 须要在启动时指定 –enable-v2=true, 否则间接申请 v2 的 api 会报 404

etcd --enable-v2=true:

(上面持续应用 v2 接口)

  • 查看 key:

curl 127.0.0.1:2379/v2/keys

  • 新建 key:

(如果 key 之前存在,则默认会先删除,再新建一个 key。如果想要间接 update,则需追加 -d prevExist=true,但若加该参数,如果 key 之前不存在会报错)

curl 127.0.0.1:2379/v2/keys/ckl -XPUT -d value="shuang"

  • 创立目录:

curl 127.0.0.1:2379/v2/keys/mulu666 -XPUT -d dir=true

  • 创立带 ttl 的键值(单位为秒):

curl 127.0.0.1:2379/v2/keys/key_with_expired_time -XPUT -d value='这是 key 的值,这个 key 生命周期是 5s' -d ttl=5

  • 创立有序键值:
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="西施"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="昭君"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="貂蝉"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="杨玉环"
  • 删除指定的键:

curl 127.0.0.1:2379/v2/keys/ckl -XDELETE

  • 列出所有的集群成员:

curl 127.0.0.1:2379/v2/members

  • 查看 leader:

curl 127.0.0.1:2379/v2/stats/leader

  • 查看集群运行状态:

curl 127.0.0.1:2379/v2/stats/store

除去 restful Api,etcdctl 命令行也反对相干操作,如:

  • 放入一个 键值对:

etcdctl put "myname" "fliter"

  • 取出一个 键值对
    etcdctl get "myname"
  • 删除一个 键值对
    etcdctl del "myname"

命令行操作和 resuful Api 操作应该是互通的。但看起来数据竟然没有共通,有点奇怪 …

不错的 GUI

有一些还不错的第三方开源 UI,能够界面化查看和操作

比方 etcd-manage

例如,能够在界面新增 key,或批改内容等

看起来和 etcdctl 是通的,神奇的是和 restful Api 不通 …

本文由 mdnice 多平台公布

退出移动版