Go ETCD 安装 & 使用

Go ETCD 安装 & 使用

etcd是一个开源的分布式键值对存储数据库,用于保存和管理分布式系统保持运行所需的关键信息。通常情况下,作为容器编排平台Kubernetes管理配置数据、状态数据和元数据管理使用。

软件安装

源码安装

./scripts/build.sh

在这里插入图片描述

./etcd --version

在这里插入图片描述

二进制包安装

  • 下载安装包
wget https://github.com/etcd-io/etcd/releases/download/v3.5.7/etcd-v3.5.7-darwin-amd64.zip

在这里插入图片描述

  • 解压安装包
unzip etcd-v3.5.7-darwin-arm64.zip

在这里插入图片描述

  • 添加到执行目录 - 将etcd可执行文件移动到 /usr/local/bin
cd etcd-v3.5.7-darwin-amd64
ls -lh
# 如下图 关于etcd的命令工具有三个,全部移到 指定目录
mv etcd* /usr/local/bin

在这里插入图片描述

  • 查看etcd版本
etcd --version

在这里插入图片描述

至此,etcd已经安装完毕,往后的学习中使用该版本。

简单使用

启动ETCD

etcd

在这里插入图片描述

基本使用

打开另一个shell终端,使用ectdctl命令进行简单的操作

# 设置数据
$ etcdctl put greeting "Hello, etcd"
# 获取数据
$ etcdctl get greeting

在这里插入图片描述

  • 模糊查找
# 查找前缀为 greet 的所有信息
etcdctl get greet --prefix
  • 删除键值
# 精确删除
etcdctl del key
# 模糊删除
etcdctl del key --prefix
  • 键值监听 - 使用该功能可以获取指定key值的变更通知信息
# 在一个shell终端输入监听命令
etcdctl watch stock1
# 打开另一个shell终端 对 stock1 进行修改
etcdctl put stock1 20
etedctl put stock1 40

第一个shell终端的截图如下,自动获取KEY值为stock1的相关信息变更通知

在这里插入图片描述

  • 设置过期
# 设置过期时间: 10秒
$ etcdctl lease grant 20
lease 694d861f9643ce20 granted with TTL(20s)
# 设置信息 并关联过期时间
$ etcdctl put hello world --lease=694d861f9643ce20
# 等待20秒 数据自动过期
$ etcdctl get hello
# 查看lease 是否过期
$ etcdctl lease keep-alive 694d861f9643ce20
lease 694d861f9643ce20 expired or revoked.
# 主动撤销过期时间
$ etcdctl lease revoke 694d861f9643ce20
  • 分布式锁
$ etcdctl lock mutex1
mutex1/694d861f9643ce27
# 在另一个终端 使用相同的命令锁定
$ etcdctl lock mutex1

在这里插入图片描述

  • 数据存储 - 快照数据保存到ETCD数据库
$ etcdctl  snapshot save my.db

在这里插入图片描述

Etcd VS Redis

学习了Etcd的基本使用后,相信大多数人跟我有一样的疑问,从目前看来,Etcd该有的功能,Redis基本也能实现,甚至更加强大,那么它们之间有什么区别,以及对应的应用场景分别是什么?

Redis

内存数据库,用于数据库、缓存、消息中间件,通常被称为数据结构服务器,Redis key值存储结构可包含字符串、哈希表、列表、集合、有序集合,Redis 优势:

  • 高性能
  • 内存缓存
  • 丰富的数据结构
  • 开源 易用

ETCD

强一致性的分布式键值对存储数据库,提供了一种可靠的方式来存储需要有分布式系统或者集群访问的数据,etcd在网络分区期间优雅地处理主机选择,并将容忍包括主机在内的机器故障。可以看出ECTD应用于分布式系统的数据存储和数据访问。etcd优势:

  • 服务发现
  • 容错性高
  • 安全 访问权限管理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值