网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | etcd工作笔记(架构分析优化与最佳实践)/Go语言与云原生系列 |
分类 | |
作者 | |
出版社 | 中国铁道出版社 |
下载 | ![]() |
简介 | 内容推荐 近年来,容器和云原生生态蓬勃发展。如何实现数据分布式、一致性存储,确保云原生环境的可扩展性和高可用性,是亟须解决的现实问题。云计算时代,etcd将成为云原生和分布式系统的基石,三个关键因素是分布式一致性raft协议、Go语言和生态。正是因为etcd在云原生时代的火热,越来越多的公司在系统服务中新引入etcd,或者替代原有的类似组件,如ZooKeeper、Consul、Eureka等。本书的内容也正是聚焦于如何正确部署和运维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的比较 序言 写作背景 互联网应用经历了从早期单一架构到垂直 架构,再到分布式架构的技术发展过程。在业务 体系不断发展变化,用户体量和性能要求远非传 统行业所能比拟的当下,越来越多的公司跨入了 分布式、云原生架构的行列,分布式架构成为主 流趋势。 但分布式架构系统面临着一些与生俱来的 问题,比如部署复杂、响应时间长、运维复杂等 ,其中最根本的是多个节点之间的数据共享问题 。面对这些问题,你可以选择自己实现一个可靠 的共享存储来同步信息,或者是依赖一个可靠的 共享存储服务。 至于可靠的共享存储服务,etcd是一个优 秀的可选项。etcd是一款分布式存储中间件, 使用Go语言编写,并通过raft一致性算法处理 和确保分布式一致性,解决了分布式系统中数据 一致性的问题。 etcd在分布式架构和云原生时代落地实践 ;作为一款分布式、可靠的键值存储组件, etcd常用于微服务架构中的服务注册与发现中 心,相较于ZooKeeper部署更简单,而且具有数 据持久化、支持SSL客户端安全认证的独特优势 。 此外,由于etcd中涉及了数据一致性、多 版本并发控制、Watch监控、磁盘I/O读写等知 识点,深入学习etcd可以帮助我们从开源项目 中学习底层原理,进一步提高分布式架构设计的 能力。 除了分布式架构中的应用,etcd还是目前 非常热门的云原生存储组件,它自2018年底作 为孵化项目加入CNCF(云原生计算基金会), 并于2020年11月成功“毕业”。 我们都知道,上“云”的过程必然是曲折 的。以笔者所在的在线教育行业为例,从原有的 单体业务改造到逐步替换成云原生架构,其中花 费的人力、时间成本都很大,这不仅与实际的业 务复杂度、升级的决心有关,更关乎技术复杂度 ,在线课程直播场景甚至要求架构实现高性能、 高并发和高可用性,这些都远远超出传统单体应 用的设计和开发范畴。 etcd作为云原生架构中重要的基础组件, 各个微服务之间通过etcd保证调用的可用性和 正确性。其他许多知名项目(包括Kubernetes 、CoreDNS和TiKV等)也都依赖etcd来实现可靠 的分布式数据存储,它的成功可见一斑。 IBM开放技术高级软件工程师兼etcd维护者 Sahdev Zala也指出:“etcd在提供分布式键- 值存储方面发挥着关键作用。其存储功能不仅具 有很高的可用性,而且能够满足大规模 Kubernetes集群所提出的强一致性要求。” etcd不断提高的普及率、开放的治理以及 完善的功能成熟度使它在云原生时代大受青睐, 也因此被越来越多的公司在系统服务中引入,甚 至替代原有的类似组件(如ZooKeeper、Consul 、Eureka等)。目前,etcd已被许多公司用于 生产,包括阿里巴巴、亚马逊、百度、Google 等。 本书主要内容 当前,云原生架构逐步成为系统架构的主 流,由于其可以大大提升产品的开发迭代效率, 降低运维和硬件成本;因此企业要不要上“云” 已不再是一个艰难的选择题,而成为必然趋势。 etcd作为分布式架构下的一款优秀组件,在云 原生时代更是大放异彩,成为Kubernetes平台 默认的容器注册与发现组件。 希望通过etcd学习分布式组件的“道”, 掌握学习之道会在后续的自我提升中发挥长期价 值。无论在将来的面试还是开发中,切中分布式 系统开发的要点,并将原理和应用结合起来,才 能充分体现个人的核心竞争力。 本书围绕etcd组件,从基础知识点到底层 原理全面深入地展开介绍,主要包含如下的三个 模块。 (1)基础概念与操作篇 首先浅谈云原生架构背景,分布式系统中 如何保证一致性;接着介绍etcd是一款什么样 的组件、etcd相关的特性、应用场景、部署的 方式,还包括了客户端命令行工具的使用以及 etcd通信加密TLS。初步了解etcd的这些基本使 用以及核心API,为后面的学习打下基础。 (2)etcd实现原理与关键技术篇 介绍etcd的工作方式与内部实现原理,并 重点介绍etcd的etcd-raft模块、WAL日志与快 照备份、多版本控制MVCC、backend存储、事务 实现、Watch和Lease机制等,最后梳理etcd Server的启动流程,以及如何处理客户端请求 。通过这一模块的学习,可以帮助我们从原理层 面深入了解etcd的工作机制以及整体架构,同 时将有助于后续二次开发或者排查遇到的问题。 (3)实践案例篇 在掌握了etcd相关知识点的情况下,在应 用实践部分将会带你学习etcd clientv3的具体 应用,包括如何基于etcd实现分布式锁应用, 以及如何在微服务中集成etcd作为服务注册与 发现中心;最后我们会分析在Kubernetes中如 何基于etcd完成容器的调度。 适合哪些读者 服务端开发的工程师,往往会使用部分分 布式组件,但是对分布式系统的实现原理,对分 布式组件的实现细节不清楚。这种情况阻碍了他 们完成高质量的开发任务、提升个人能力以及职 业晋升。etcd是云原生架构下的重要组件,从 学习etcd开始,在了解etcd的基础上更容易快 速熟悉分布式系统实现的一些细节和原 导语 从基础知识点到底层原理再到落地实践,步步为营地透彻解析Kubernetes平台默认容器注册与发现组件,旨在帮助读者有效解决分布式系统中的数据一致性问题。 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。