etcd单机搭建及简单使用
1. 首先应该下载etcd的linux版本,并将压缩包传输到阿里云服务器上 https://github.com/etcd-io/etcd/releases
2. 简单说一下sftp的从本机传输到远程服务器的指令
lcd /Users/xxx/Downloads
put etcd-v3.5.2-linux-amd64.tar.gz /root
3. 连接到服务器,进入root解压etcd安装文件
tar -zxvf etcd-v3.5.2-linux-amd64.tar.gz
4. 进入解压目录,开启etcd后台服务
nohup ./etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls 'http://0.0.0.0:2379' &
对公网开启了端口号2379,只是为了测试使用,实际上etcd不应该对公网暴露端口号
5. 检查etcd是否正常开启
less nohup.out
6. 一些关于key-value的简单操作
./etcdctl put "name" "own"
./etcdctl get "name"
因为etcd中的key是有序的,所以我们可以构建一个抽象的目录结构,来管理项目
./etcdctl put "myjob/cronjobs/job1" "{job1's json}"
./etcdctl put "myjob/cronjobs/job2" "{job2's json}"
同时可以另起一个工作台,watch myjob/cronjobs/这个前缀,实时跟踪定时任务的变化
./etcdctl watch --prefix "myjob/cronjobs/"
我们修改一下job1的value(在任务调度里可以认为是修改了任务的配置文件等),只要我们在job开启etcd的watch,就可以实时监控到对应的value的变化
./etcdctl put "myjob/cronjobs/job1" "{job1's json hello}"
watch到如下修改
root@xxxx:~/etcd-v3.5.2-linux-amd64# ./etcdctl watch --prefix "myjob/cronjobs/"
PUT
myjob/cronjobs/job1
{job1's json hello}
7.golang使用etcd客户端
首先需要安装v3版本的客户端,包很大,运气好的话才能down下来
go get go.etcd.io/etcd/client/v3
配置客户端并建立连接
func main() { config := clientv3.Config{ Endpoints: []string{":2379"}, DialTimeout: 5 * time.Second, } // 建立连接 client, err := clientv3.New(config) if err != nil { fmt.Println(err) return } }
其中可以Endpoints是一个string类型的切片,etcd客户端是支持高可用的
我还在go get中...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理