ETCD
前言:etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现
本文非原理介绍,仅介绍etcd在linux上的安装及在go下的使用
简介
- 核心:k-v存储,高可用,分布式,raft,go (嗯具体底层可以阅读源码)
- 使用场景:服务发现,分布式配置管理等
- 项目地址:https://github.com/etcd-io/etcd (github赛高!!!)
安装
- 环境:Linux下(centos.ubuntu等)
- 安装包:https://github.com/etcd-io/etcd/releases/download/v3.3.18/etcd-v3.3.18-linux-amd64.tar.gz
- 更多版本的安装包可以去:https://github.com/etcd-io/etcd/releases
详细流程
- 执行 wget https://github.com/etcd-io/etcd/releases/download/v3.3.18/etcd-v3.3.18-linux-amd64.tar.gz
- 接着执行 tar zxvf etcd-v3.3.18-linux-amd64.tar.gz 得到解压后的文件夹
- 不出意外的话会得到如图的文件
- 我们可以将该文件夹移到系统目录下(按各自服务器的存放规则) mv etcd-v3.3.18-linux-amd64 /usr/local/etcd
- 启动etcd服务非常简单,在etcd目录下执行 ./etcd 就可以简单启动
- etcdctl 用于命令行输入指令
API
- 下载的etcd包,
默认配置是API 2
,执行 ./etcdctl version 来查看当前版本,建议使用API 3
- 在 /etc/profile 中追加 export ETCDCTL_API=3 设置,别忘了执行 source /etc/profile
- v3截取部分指令
配置
- etcd包的配置文件需要自己编写,这里介绍些常用配置项
- 配置要求格式为
yml
- 常用配置项
name:成员名称
data-dir:数据存储路径,为空则会按成员名生成在服务启动路径
listen-client-ur