Docker技术入门与实战 第3版
(副标题):无 ;
(作者): 杨保华 ;
内容简介:
22.1 Etcd简介
Etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)仓库,遵循Apache v2许可,基于Go语言实现。
接触过分布式系统的读者应该知道,分布式系统中最基本的问题之一就是实现信息的共识,在此基础上才能实现对服务配置信息的管理、服务的发现、更新、同步,等等。而要解决这些问题,往往需要利用一套能保证一致性的分布式数据库系统,比如经典的Apache ZooKeeper项目[1],采用了Paxos算法来实现数据的强一致性。
Etcd专门为集群环境设计,采用了更为简洁的Raft共识算法[2],同样可以实现数据强一致性,并支持集群节点状态管理和服务自动发现等。
Etcd目前在github.com/coreos/etcd进行维护,最新为3.x系列版本。
受到Apache ZooKeeper项目和doozer项目(doozer是一个一致性分布式数据库实现,主要面向少量数据,更多信息可以参考https://github.com/ha/doozerd)的启发,Etcd在进行设计的时候重点考虑了下面四个要素:
·简单:支持RESTful API和gRPC API;
·安全:基于TLS方式实现安全连接访问;
·快速:支持每秒一万次的并发写操作,超时控制在毫秒量级;
·可靠:支持分布式结构,基于Raft算法实现一致性。
通常情况下,用户使用Etcd可以在多个节点上启动多个实例,并将它们添加为一个集群。同一个集群中的Etcd实例将会自动保持彼此信息的一致性,这意味着分布在各个节点上的应用也将获取到一致的信息。
[1] Apache ZooKeeper是一套知名的分布式系统中进行同步和一致性管理的工具。
[2] Raft是一套通过选举主节点来实现分布式系统一致性的算法,相比于大名鼎鼎的Pax
目录预览:
Docker技术入门与实战 第3版
第1章 初识Docker与容器
1.1 什么是Docker
1.2 为什么要使用Docker
1.3 Docker与虚拟化
1.4 本章小结
第2章 核心概念与安装配置
2.1 核心概念
2.2 安装Docker引擎
2.2.1 Ubuntu环境下安装Docker
2.2.2 CentOS环境下安装Docker
2.2.3 通过脚本安装
2.2.4 macOS环境下安装Docker
2.2.5 Windows环境下安装Docker
2.3 配置Docker服务
2.4 推荐实践环境
2.5 本章小结
第3章 使用Docker镜像
3.1 获取镜像
3.2 查看镜像信息
........