内容简介
年来,容器和云原生生态蓬勃发展。如何实现数据分布式和一致存储,确保云原生环境的可扩展和高可用,是亟待解决的现实问题。 云计算时代,etcd将成为云原生和分布式系统的基石,三个关键因素是分布式一致raft协议、Go语言和生态。本书的内容聚焦于如何正确部署和运维etcd集群,理解etcd实现的原理并对etcd集行优化,以及在开发层面如何正确调用etcd客户端API接口实现一致存储能。
目录
第1章 云原生架构概述 1.1 云计算的前世今生 1.1.1 云计算的鼻祖:虚拟化技术 1.1.2 虚拟机的市场化应用 1.1.3 容器化与容器编排的兴起 1.1.4 云计算的深远影响 1.2 什么是云原生架构 1.2.1 云原生出现的背景 1.2.2 云原生解决了哪些问题 1.2.3 不断更新的云原生定义 1.2.4 云原生与12因素 1.3 云原生架构的挑战 1.3.1 分布式系统的问题 1.3.2 一致问题(拜占庭将军问题) 1.4 分布式一致理论 1.4.1 三选二的CAP理论 1.4.2 柔事务base理论 1.5 分布式一致协议 1.5.1 二阶段提交协议(2PC) 1.5.2 三阶段提交协议 1.5.3 经典的Paxos算法 1.5.4 简单易懂的raft算法 1.5.5 分布式一致协议小结 1.6 云原生时代etcd 1.6.1 相关组件多维度对比 1.6.2 etcd与ZooKeeper的比较 1.6.3 etcd与Consul的比较 1.6.4 etcd与NewSQL的比较 1.7 本章小结第2章 初识etcd 2.1 etcd介绍 2.1.1 etcd的特 2.1.2 etcd v3的架构解析 2.2 etcd使用场景 2.2.1 键值对存储 2.2.2 服务注册与发现 2.2.3 消息发布与订阅 2.2.4 分布式通知与协调 2.2.5 分布式锁 2.3 etcd安装与使用 2.3.1 etcd常用的术语 2.3.2 etcd单机安装部署 2.4 etcd集群部署 2.4.1 静态方式启动etcd集群 2.4.2 docker启动etcd集群 2.4.3 动态发现启动etcd集群 2.4.4 DNS自发现模式 2.5 etcdctl的实践应用 2.5.1 常用命令介绍 2.5.2 数据库r/> 2.5.3 集群配置查询 2.6 etcd 2.6.1 TLS与SSL 2.6.2 行TLS加密实践 2.7 本章小结第3章 etcd核心API v3 3.1 通信接口标准:proto3 3.1.1 定义消息类型 3.1.2 添加更多消息类型 3.1.3 proto文件编译后会生成什么 3.2 核心gRPC API接口 3.3 键值对增删改查 3.3.1 Range查询方法 3.3.2 Put写入键值对 3.3.3 DeleteRange删除键值对方法 3.3.4 Txn事务方法 3.3.5 Compact压缩方法 3.4 Watch监视服务 3.4.1 事件和监视流 ……第4章 etcd存储原理与机制第5章 etcd如何实现分布式一致第6章 MVCC多版本控制与事务的实现原理第7章 etcd的Watch机制与租约机制第8章 etcd服务端第9章 etcd clientv3客户端的使用第10章 etcd集群运维第11章 etcd提供的扩能第12章 etcd在微服务和云原生架构中的应用