1、etcd的介绍
etcd是一个高可用的键值存储,用来共享配置和服务发现。etcd是一个分布式减值存储,提供了一种可靠的方式来将数据存储在一个机器集群中,它是开源的,并且在GitHub上面可以下载源码。etcd优雅的处理了在网络分区之间的master选举,并且有很好的容错性,包括master丢失。您的应用可以向etcd写入数据或读取数据。一个简单的使用示例,实现了将存储数据库链接信息和特征存作为键-值存储在etcd中。这个值可以被监控,当这些值发生变化的时候,并且允许您的应用重新配置自己。
2、为什么介绍etcd
目前在网上能查到关于etcd的介绍只有几篇,而且转载来转载去的,主要针对其raft选举算法进行图解,这里就不作介绍了。而本文主要对其的使用方法来讲解,这方面相关的介绍甚少,官网https://coreos.com/把etcd的项目迁移到了GitHub,建议读者先到这里etcd软件包下载自己需要的etcd安装包(可解压直接使用),里面有丰富的document文档说明教你如何使用HTTP RESTful API来访问和请求etcd,您也可以到官网查看etcdctl工具的使用,您还可以选择在本博客了解etcd怎么使用。
3、etcd能用来做什么
etcd是一个应用在分布式环境下的 key/value 存储服务。利用 etcd 的特性,应用程序可以在集群中共享信息、配置或作服务发现,etcd 会在集群的各个节点中复制这些数据并保证这些数据始终正确。我们知道,etcd是CoreOs轻量级linux操作系统中最重要的组成部分,CoreOS是一个基于Docker的轻量级容器化Linux发行版,专为大型数据中心而设计,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。CoreOS作为Docker生态圈中的重要一员,日益得到各大云服务商的重视。另外etcd的开源性质使得它可以很容易被我们的项目所引进,利用它我们可以实现服务共享,可以很轻松的实现客户端和服务器进行通信,在此基础上我们可以定制各种各样的服务。下面让我们赶紧看看如何使用etcd吧。
4、etcd提供的HTTP RESTful API
etcd支持http RESTful API,支持get查询,post,delete,put等操作。为了便于理解,可将它存储数据的框架看做一个文件系统,可以创建目录和“文件”,每个“文件”名就是一个key,每个“文件”的内容就是它的value,目录没有value只能包含子目录或者“文件”,可以通过RESTful API来获取这些key的值或者设置这些key的值。
5、etcd命令行接口使用
*运行一个单一的机器集群即启动本地etcd服务
解压上面下载的etcd软件包,执行etcd文件./etcd
*获取etcd的版本号
curl -L http://127.0.0.1:2379/version
*设置一个key的value
curl http://127.0.0.1:2379/v2/ke