etcd 是一个用 Go 编写的分布式、高可用的键值存储,底层基于 Raft 达成共识。它提供长连接 watch 机制,客户端可以实时感知数据变化;用来做服务注册发现再合适不过,比 ZooKeeper 更轻便。
安装 etcd
在 Ubuntu 上直接 apt 安装:
sudo apt install etcd
sudo systemctl start etcd
sudo systemctl enable etcd
单节点情况下默认配置就够用——节点间通信端口 2380,客户端访问端口 2379。如果要自定义节点名、数据目录或监听地址,编辑 /etc/default/etcd,参考下面的配置:
ETCD_NAME="etcd1"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://192.168.65.132:2379,http://127.0.0.1:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.65.132:2379,http://127.0.0.1:2379"
ETCD_LISTEN_PEER_URLS="http://192.168.65.132:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.65.132:2380"
ETCD_HEARTBEAT_INTERVAL=100
ETCD_ELECTION_TIMEOUT=1000
# 集群配置,单节点可忽略
#ETCD_INITIAL_CLUSTER="etcd1=http://192.168.65.132:2380,etcd2=http://192.168.65.132:2381,etcd3=http://192.168.65.132:2382"
#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
#ETCD_INITIAL_CLUSTER_STATE="new"
# 安全相关(SSL),按需取消注释并修改路径
#ETCD_CERT_FILE="/etc/ssl/client.pem"
#ETCD_KEY_FILE="/etc/ssl/client-key.pem"
#ETCD_CLIENT_CERT_AUTH="true"
#ETCD_TRUSTED_CA_FILE="/etc/ssl/ca.pem"
#ETCD_AUTO_TLS="true"
#ETCD_PEER_CERT_FILE="/etc/ssl/member.pem"
#ETCD_PEER_KEY_FILE="/etc/ssl/member-key.pem"
#ETCD_PEER_CLIENT_CERT_AUTH="false"


