go etcd

etcd介绍

GitHub:https://github.com/coreos/etcd

官网:https://coreos.com/etcd/

概念:高可用的分布式key-value存储,可以用于配置共享和服务发现。

具有以下优点:

  • 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用
  • 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制
  • 高性能:10,000 /秒的写性能

类似项目:zookeeper和consul

开发语言:Go

接口:提供restful的http接口,使用简单

实现算法:基于raft算法的强一致性、高可用的服务存储目录

etcd的应用场景:

  • 服务发现和服务注册
  • 配置中心
  • 分布式锁
  • master选举
时间: 2024-11-05 13:44:24

go etcd的相关文章

kubernetes部署etcd集群

部署环境: CentOS Linux release 7.2 64位 10.10.0.103 etcd master 10.10.0.49   etcd follower master安装过程: # yum update # yum install -y etcd # [member] ETCD_NAME=etcd1 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" #ETCD_SNAPSHOT_

etcd的学习心得和使用

1 etcd key-value 存储结构 "A highly-available key value store for shared configuration and service discovery." Etcd是coreos开发的分布式服务系统,内部采用raft协议作为一致性算法 raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为Leader Etcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现. ● 简单:支持 curl

使用Docker容器来源码编译etcd

背景 etcd是CoreOS公司开发的分布式键值对存储库.在Kubernetes中,我们需要使用etcd作为所有REST API对象的持久化存储. 不幸的是,在github的release中,CoreOS将etcd的二进制可执行文件都放在了亚马逊的S3存储上,在国内访问非常慢.因此,我们只能通过源码编译etcd. 过程 1. 下载etcd源码. $ git clone https://github.com/coreos/etcd.git $ cd etcd 2. 根据实际情况,选择合适的版本.如

etcd api 接口

etcd api接口 采用标准的restful 接口,支持http 和 https 两种协议. 1. PUT 为etcd存储的键赋值, 即创建 message 键值,赋值为"Hello world" 1 [[email protected] ~]# curl http://127.0.0.1:2379/v2/keys/message -X PUT -d value="Hello world" | python -m json.tool 2 % Total % Rec

Zookeeper和etcd比较

zookeeper: zookeeper是基于paxos的简化版zab,我觉得确实很难理解?,以前看了好多遍<从paxos到zookeper>才感觉似懂非懂了,然而过了几个月发现又一脸蒙蔽了,在这里在整理一下(仅表示我自己的理解) ZAB协议中存在着三种状态,每个节点都属于以下三种中的一种: 1. Looking :系统刚启动时或者Leader崩溃后正处于选举状态 2. Following :Follower节点所处的状态,Follower与Leader处于数据同步阶段: 3. Leading

Etcd学习(一)安装和测试

Etcd是一个比较新的分布式协调框架,现在才只到0.4.6版本,还没发布1.0版本 从网上搜etcd关键字,基本上就只能看到"开源中国"的介绍: etcd 是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现.etcd 的灵感来自于 ZooKeeper 和 Doozer,侧重于: 简单:支持 curl 方式的用户 API (HTTP+JSON) 安全:可选 SSL 客户端证书认证 快速:单实例可达每秒 1000 次写操作 可靠:使用 Raft 实现分布式 Etcd

etcd集群的部署

node1  192.168.56.173 node2 192.168.56.174 node3 192.168.56.200 node* 为主机名称 [[email protected] ~]# cat /etc/redhat-release  CentOS Linux release 7.2.1511 (Core)  [[email protected] ~]# https://github.com/coreos/etcd/releases/download/v3.0.15/etcd-v3.

etcd raft library设计原理和使用

早在2013年11月份,在raft论文还只能在网上下载到草稿版时,我曾经写过一篇blog对其进行简要分析.4年过去了,各种raft协议的讲解铺天盖地,raft也确实得到了广泛的应用.其中最知名的应用莫过于etcd.etcd将raft协议本身实现为一个library,位于https://github.com/coreos/etcd/tree/master/raft,然后本身作为一个应用使用它. 本文不讲解raft协议核心内容,而是站在一个etcd raft library使用者的角度,讲解要用上这

etcd选举机制

etcd是一种先进的key-value的存储系统,本文主要是学习etcd的心得,如有误解,敬请拍砖 主要分成三种形式的选举,先说一下etcd节点的三种状态,分别为leader,candidate和follower 第一种:初始选举 A.B.C.D现在进场,那么谁当领导呢?A(变身candidatae)就分别找BCD谈话,"我来当,你没意见吧".B\C都没什么主见,就同意了,D虽然不同意,但是大家都这么说,只好也同意了.A就开始行使权利,定时从BCD同步日志,并发送心跳(heartbea

通过Etcd+Confd自动管理Haproxy(多站点)

当网站业务量急剧增大的时候,机器的扩容缩容就是家常便饭,Haproxy作为负载均衡器的变更频率就急剧加大,特别是Docker的出现,这个时候再也不能通过vim修改配置文件的形式去对业务进行变更. etcd:k/v形式的键值存储,用于存放配置 confd:根据从etcd中获取的配置,对haproxy进行修改 #confd的安装 wget https://github.com/kelseyhightower/confd/releases/download/v0.11.0/confd-0.11.0-l