携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
1、etcd简介
etcd是使用go语言开发的一个开源的、高可用的分布式键值存储系统,可以用于配置共享和服务的注册和发现。
特点:
- 简单:提供定义明确且面向用户的API
- 安全:支持ssl证书验证
- 可靠:采用raft协议保证分布式系统数据的可用性和一致性
- 快速:每秒10000次写入的基准速度
- 完全复制:集群中的每个节点都可以使用完整的存档
2、etcd应用场景
2.1、配置中心
etcd是一个分布式的键值存储系统,其优秀的读写性能、一致性和可用性的机制,非常适合用来做配置中心角色
2.2、分布式锁
etcd的强一致性保证,可以用来做分布式场景下的同步机制保证
2.3、服务注册与发现
2.4、消息订阅和发布
\
3、搭建
3.1、docker安装etcd
- 获取镜像
docker pull bitnami/etcd:latest
- 建立网络
docker network create app-tier --driver bridge
- 启动etcd服务器实例
使用命令的–network app-tier参数docker run将etcd容器附加到app-tier网络。
docker run -d --name etcd-server \
--network app-tier \
--publish 2379:2379 \
--publish 2380:2380 \
--env ALLOW_NONE_AUTHENTICATION=yes \
--env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \
bitnami/etcd:latest
4.启动客户端实例
我们创建一个新的容器实例以启动etcd客户端并连接到上一步中创建的服务器:
docker run -it --rm \
--network app-tier \
--env ALLOW_NONE_AUTHENTICATION=yes \
bitnami/etcd:latest etcdctl --endpoints http://etcd-server:2379 put /message Hello
3.2、可视化界面
docker run -itd \
--name etcdkeeper \
--restart=always \
--net=host \
deltaprojects/etcdkeeper
默认etcdkeeper docker启动是连接本地的2379端口,所以直接使用的 host 模式启动即可,然后就可以通过 8080 端口直接创建文件配置 etcd 中的数据了。
-