微服务自动化之etcd快速入门

603 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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

  1. 获取镜像
docker pull bitnami/etcd:latest
  1. 建立网络
docker network create app-tier --driver bridge
  1. 启动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 中的数据了。

-