etcd 集群搭建及常用场景分析

etcd采用raft算法实现高一致性,提供gRPC接口,支持TLS安全通信和细粒度权限控制。具备每秒10,000次写操作的高性能。在服务治理场景中,服务启动后向etcd注册并设置TTL,周期性更新状态。客户端通过watch机制动态调整服务列表,实现服务发现和负载均衡,确保后端服务的动态扩展和均衡负载。" 111809413,10293958,4G频段中心频点计算详解,"['通信技术', '频谱管理', '4G网络', '无线通信', '移动通信']
摘要由CSDN通过智能技术生成
概述
etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点。
  • 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用
  • 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制
  • 高性能:10,000 /秒的写性能
1. etcd单机模式
单机模式的etcd运行很简单,只需到官网下载最新的二进制文件,执行即可
./bin/etcd
以上将使用默认配置运行etcd,监听本地的2379端口,用于与client端交互,监听2380用于etcd内部交互,当然,这里单机不会使用到。
  
  
  
./etcdctl set hello world
world

./etcdctl get hello
world
通过etcdctl工具进行测试,以上表示单机可以工作。
2.etcd集群模式
这里的集群模式是指完全集群模式,当然也可以在单机上通过不同的端口,部署伪集群模式,只是那样做只适合测试环境,生产环境考虑到可用性的话需要将etcd实例分布到不同的主机上,这里集群搭建有三种方式,分布是静态配置,etcd发现,dns发现
下面将在以下三台主机上搭建etcd集群,
infra0 10.0.1.111
infra1 10.0.1.109
infra2 10.0.1.110

2.1 配置项说明
--name
etcd集群中的节点名,这里可以随意,可区分且不重复就行 
--listen-peer-urls
监听的用于节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)
--initial-advertise-peer-urls
建议用于节点之间通信的url,节点间将以该值进行通信。
--listen-client-urls
监听的用于客户端通信的url,同样可以监听多个。
--advertise-client-urls
建议使用的客户端通信url,该值用于etcd代理或etcd成员与etcd节点通信。
--initial-cluster-token etcd-cluster-1
节点的token值,设置该值后集群将生成唯一id,并为每个节点也生成唯一id,当使用相同配置文件再启动一个集群时,只要该token值不一样,etcd集群就不会相互影响。
--initial-cluster
也就是集群中所有的initial-advertise-peer-urls 的合集
--initial-cluster-state new
新建集群的标志

2.2 静态配置
静态配置主要预先将集群的配置信息分配好,然后将集群分布启动,集群将根据配置信息组成集群。这里按如下的配置信息分别启动三个etcd。
./etcd --name infra0 --initial-advertise-peer-urls http://10.0.1.111:2380 \
  --listen-peer-urls http://10.0.1.111:2380 \
  --listen-client-urls http://10.0.1.111:2379,http://127.0.0.1:2379 \
  --
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值