etcd相关总结

etcd 

sudo wget https://github.com/etcd-io/etcd/releases/download/v3.2.26/etcd-v3.2.26-linux-amd64.tar.gz

sudo tar -xzvf ./etcd-v3.2.26-linux-amd64.tar.gz

sudo mkdir -p /etc/etcd
sudo vi /etc/etcd/conf.yml

在环境变量中

============================================
name: etcd-1
data-dir: /usr/local/bin/etcd-v3.2.26-linux-amd64/data
listen-client-urls: http://192.168.13.128:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.13.128:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.13.128:2380
initial-advertise-peer-urls: http://192.168.13.128:2380
initial-cluster: etcd-1=http://192.168.13.128:2380,etcd-2=http://192.168.13.129:2380,etcd-3=http://192.168.13.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new


name: etcd-2
data-dir: /usr/local/bin/etcd-v3.2.26-linux-amd64/data
listen-client-urls: http://192.168.13.129:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.13.129:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.13.129:2380
initial-advertise-peer-urls: http://192.168.13.129:2380
initial-cluster: etcd-1=http://192.168.13.128:2380,etcd-2=http://192.168.13.129:2380,etcd-3=http://192.168.13.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new


name: etcd-3
data-dir: /usr/local/bin/etcd-v3.2.26-linux-amd64/data
listen-client-urls: http://192.168.13.130:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.13.130:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.13.130:2380
initial-advertise-peer-urls: http://192.168.13.130:2380
initial-cluster: etcd-1=http://192.168.13.128:2380,etcd-2=http://192.168.13.129:2380,etcd-3=http://192.168.13.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
==================================================

sudo mkdir -p /usr/local/bin/etcd-v3.2.26-linux-amd64/data
nohup etcd --config-file=/etc/etcd/conf.yml &


etcdctl put /message Hello
etcdctl get /message

etcdctl del /message
etcdctl get /message

etcdctl --write-out=table --endpoints=localhost:2379 member list   通过本地的api来查看有哪些member list

访问一个左闭右开
etcdctl get foo foo3

etcd支持curl的方式访问API,支持SSL,写操作可达1000次,使用RAFT协议

====================================================
zk,redis,etcd
一致性协议:etcd使用raft协议,zk使用zab(类paxos协议),前者易于理解,方便工程实现。ZooKeeper的部署、维护、使用比较复杂,需要安装客户端,官方只提供了Java和C两种语言的接口。(paxos算法复杂)
api:etcd提供http+json,grpc接口,跨平台语言,zk则需要使用其客户端。
访问安全方面:etcd支持https访问,zk在这方面缺失。
应用场景:配置管理,服务注册发现,选主,应用调度,分布式队列,分布式锁。


-------------------------

相较之下,ZooKeeper有如下缺点:

复杂。ZooKeeper的部署维护复杂,管理员需要掌握一系列的知识和技能;而Paxos强一致性算法也是素来以复杂难懂而闻名于世;另外,ZooKeeper的使用也比较复杂,需要安装客户端,官方只提供了Java和C两种语言的接口。
Java编写。这里不是对Java有偏见,而是Java本身就偏向于重型应用,它会引入大量的依赖。而运维人员则普遍希望保持强一致、高可用的机器集群尽可能简单,维护起来也不易出错。
发展缓慢。Apache基金会项目特有的“Apache Way”在开源界饱受争议,其中一大原因就是由于基金会庞大的结构以及松散的管理导致项目发展缓慢。
etcd作为一个后起之秀,其优点也很明显。

简单。使用Go语言编写部署简单;使用HTTP作为接口使用简单;使用Raft算法保证强一致性让用户易于理解。
数据持久化。etcd默认数据一更新就进行持久化。
安全。etcd支持SSL客户端安全认证。

===========================================

redis:
而etcd则支持对key的版本记录和txn操作和client对key的watch,因此适合用做服务发现


zk,redis,etcd 可以使用的功能
HTTP的服务发现(RPC,UDP,Mysql)
配置信息的管理
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值