登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

『簡體書』云原生分布式存储基石:etcd深入解析

書城自編碼: 3271804
分類: 簡體書→大陸圖書→計算機/網絡行业软件及应用
作 者: 华为云容器服务团队 杜军等
國際書號(ISBN): 9787111611929
出版社: 机械工业出版社
出版日期: 2018-11-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 514

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
《 欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界 》

售價:NT$ 1520.0
趣学CCNA——路由与交换(第2版)
《 趣学CCNA——路由与交换(第2版) 》

售價:NT$ 458.0
世界航空地理(世界国别与区域地理研究丛书)
《 世界航空地理(世界国别与区域地理研究丛书) 》

售價:NT$ 1112.0
学术的中心:英法德美
《 学术的中心:英法德美 》

售價:NT$ 398.0
为什么要读人类学
《 为什么要读人类学 》

售價:NT$ 352.0
井邑无衣冠 : 地方视野下的唐代精英与社会
《 井邑无衣冠 : 地方视野下的唐代精英与社会 》

售價:NT$ 434.0
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
《 星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展 》

售價:NT$ 968.0
妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品)
《 妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品) 》

售價:NT$ 194.0

建議一齊購買:

+

NT$ 309
《 分布式缓存 原理、架构及Go语言实现 》
+

NT$ 579
《 自己动手实现Lua:虚拟机、编译器和标准库 》
+

NT$ 514
《 分布式消息中间件实践 》
+

NT$ 579
《 etcd技术内幕 》
+

NT$ 466
《 分布式对象存储 原理 架构及Go语言实现 》
+

NT$ 569
《 云原生应用架构实践 》
內容簡介:
本书为读者深度解析分布式键值存储系统,全书分为3部分,第1部分是对分布式系统的概念和一致性协议的综述,重点解析Raft协议,使读者对分布式键值存储系统有初步了解;第2部分介绍etcd安装、部署、运维、安全等方面的知识,帮助读者进一步掌握分布式系统的使用方法,熟悉其常见功能和使用场景;第3部分是本书的特色部分,从代码层次深入探讨了etcd各大关键特性的具体设计与实现原理,读者读完本部分,会对整个etcd的架构有更加清晰的认识,可以从中汲取灵感,从而将一些实用的经验应用到自己的分布式系统中。
關於作者:
杜军,浙江大学计算机硕士,《Docker容器与容器云》Kubernetes部分的作者。就职于华为Cloud BU PaaS服务产品部,主要研究容器与集群管理技术。活跃于开源社区,是Kubernetes核心维护者和CNCF TOC Contributor。
目錄
前言
第一部分 基础篇
第1章 分布式系统与一致性协议2
1.1 CAP原理3
1.2 一致性5
1.2.1 一致性模型7
1.2.2 一致性模型分述9
1.2.3 复制状态机16
1.2.4 拜占庭将军问题18
1.2.5 FLP不可能性19
1.2.6 小结21
1.3 Paxos协议22
1.4 Raft协议:为可理解性而生24
1.4.1 Raft一致性算法26
1.4.2 可用性与时序45
1.4.3 异常情况46
1.4.4 日志压缩与快照52
1.4.5 Raft算法性能评估56
1.4.6 小结58
第二部分 实战篇
第2章 为什么使用etcd62
2.1 etcd是什么64
2.2 etcd架构简介66
2.2.1 etcd数据通道69
2.2.2 etcd架构71
2.3 etcd典型应用场景举例72
2.3.1 服务注册与发现72
2.3.2 消息发布和订阅75
2.3.3 负载均衡76
2.3.4 分布式通知与协调77
2.3.5 分布式锁78
2.3.6 分布式队列80
2.3.7 集群监控与Leader竞选81
2.3.8 小结82
2.4 etcd性能测试82
2.4.1 etcd读性能82
2.4.2 etcd写性能83
2.5 etcd与其他键值存储系统的对比84
2.5.1 ZooKeeper VS etcd85
2.5.2 Consul VS etcd88
2.5.3 NewSQL(Cloud Spanner、CockroachDB、TiDB)VS etcd88
2.5.4 使用etcd做分布式协同89
2.5.5 小结90
2.6 使用etcd的项目90
2.7 etcd概念词汇表91
2.8 etcd发展里程碑92
2.8.1 etcd 0.4版本93
2.8.2 etcd 2.0版本93
2.8.3 etcd 3.0版本93
第3章 etcd初体验95
3.1 单机部署95
3.1.1 单实例etcd95
3.1.2 多实例etcd98
3.2 多节点集群化部署100
3.2.1 静态配置101
3.2.2 服务发现104
3.3 etcdctl常用命令行107
3.3.1 key的常规操作107
3.3.2 key的历史与watch112
3.3.3 租约115
3.4 etcd常用配置参数117
3.4.1 member相关参数项117
3.4.2 cluster相关参数项118
3.4.3 proxy相关参数项120
3.4.4 安全相关参数项120
3.4.5 日志相关参数项121
3.4.6 不安全参数项121
3.4.7 统计相关参数项122
3.4.8 认证相关参数项122
第4章 etcd开放API之v2123
4.1 API保证124
4.2 etcd v2 API126
4.2.1 集群管理API126
4.2.2 键值API126
4.2.3 键的TTL130
4.2.4 等待变化通知:watch134
4.2.5 自动创建有序key146
4.2.6 目录TTL148
4.2.7 原子的CAS149
4.2.8 原子的CAD151
4.2.9 创建目录153
4.2.10 罗列目录154
4.2.11 删除目录156
4.2.12 获取一个隐藏节点157
4.2.13 通过文件设置key158
4.2.14 线性读158
4.3 统计数据158
4.3.1 Leader数据159
4.3.2 节点自身的数据160
4.3.3 更多统计数据161
4.4 member API162
4.4.1 List member162
4.4.2 加入一个member163
4.4.3 删除一个member163
4.4.4 修改member的peer URL164
第5章 etcd开放API之v3165
5.1 从etcd v2到etcd v3166
5.1.1 gRPC167
5.1.2 序列化和反序列化优化167
5.1.3 减少TCP连接167
5.1.4 租约机制167
5.1.5 etcd v3的观察者模式168
5.1.6 etcd v3的数据存储模型169
5.1.7 etcd v3的迷你事务170
5.1.8 快照171
5.1.9 大规模watch171
5.2 gRPC服务172
5.3 请求和响应174
5.4 KV API176
5.4.1 键值对176
5.4.2 revision177
5.4.3 键区间178
5.4.4 Range API178
5.4.5 PUT调用181
5.4.6 事务182
5.4.7 Compact调用186
5.5 watch API186
5.5.1 Event187
5.5.2 流式watch187
5.6 Lease API190
5.6.1 获得租约190
5.6.2 Keep Alives192
5.7 API使用示例192
第6章 etcd集群运维与稳定性195
6.1 etcd升级195
6.1.1 etcd从2.3升级到3.0195
6.1.2 etcd从3.0升级到3.1199
6.2 从etcd v2切换到v3202
6.2.1 切换客户端代码202
6.2.2 数据迁移203
6.3 运行时重配置204
6.3.1 两阶段配置更新保证集群安全205
6.3.2 永久性失去半数以上member206
6.4 参数调优207
6.4.1 时间参数207
6.4.2 快照208
6.4.3 磁盘209
6.4.4 网络209
6.5 监控209
6.6 维护210
6.6.1 压缩历史版本210
6.6.2 消除碎片化211
6.6.3 存储配额211
6.6.4 快照备份213
6.7 灾难恢复213
6.7.1 快照214
6.7.2 恢复集群214
6.8 etcd网关215
6.8.1 什么时候使用etcd网关216
6.8.2 什么时候不该使用etcd网关216
6.8.3 启动etcd网关217
6.9 gRPC代理217
6.9.1 可扩展的watch API218
6.9.2 限制219
6.9.3 可扩展的带租约的API219
6.9.4 服务端保护220
6.9.5 启动gRPC代理220
6.9.6 客户端节点同步和域名解析221
6.9.7 名字空间222
6.10 故障恢复223
6.10.1 小部分从节点故障223
6.10.2 主节点故障224
6.10.3 大部分节点故障224
6.10.4 网络分区224
6.10.5 集群启动异常225
6.11 硬件225
第7章 etcd安全231
7.1 访问安全231
7.1.1 权限资源232
7.1.2 键值资源234
7.1.3 配置资源234
7.2 etcd访问控制实践235
7.2.1 User相关命令235
7.2.2 Role相关命令236
7.2.3 启用用户权限功能237
7.3 传输安全238
7.3.1 TLSSSL工作原理239
7.3.2 使用TLS加密etcd通信241
7.3.
內容試閱
为什么要写这本书
近年来,容器和云原生生态蓬勃发展,我们正身处于一波云原生的浪潮中。随着我们习惯于在云端产生和收集的数据,云端积累了海量的数据并继续以惊人的速度增长。如何实现数据分布式、一致性存储,确保云原生环境的可扩展性和高可用性,是各组织亟须解决的现实问题。
云计算时代,etcd必将成为云原生和分布式系统的基石!而奠定etcd基石地位的三个关键因素是Raft协议、Go语言和生态。
etcd从一开始就摒弃了以复杂和难以理解著称的Paxos,而是另辟蹊径地通过Raft化繁为简,实现了一套健壮的分布式一致性协议的SDK,这套SDK被很多其他分布式数据库系统采用,甚至包括etcd兄弟项目rkt的竞争对手Docker。
至于被誉为云时代C语言的Go语言,具备天然的高并发能力、易安装和可读性好等优点,成就了etcd的高性能和项目的易维护性,极大地激发了来自全世界的开源工程师参与etcd的热情。云原生领域用Go语言编写的重量级项目不胜枚举,例如Docker、Kubernetes和Istio等。
etcd相对于Zookeeper是一个年轻且更加轻量的项目,它拥有更加健康和有活力的社区。截至这本书出版前夕,etcd在Github上的star数是20 000 ,fork数是4000 ,拥有超过400名活跃的代码贡献者。不能忽视的一点是,etcd已经被Kubernetes和Cloud Foundry等顶级云原生项目采用,并借势经过了Google、华为云、Red Hat、IBM、阿里等IT巨头大规模生产环境的考验。随着etcd进入CNCF社区孵化,成为由CNCF治理的顶级项目,厂商中立的运作模式将进一步繁荣etcd的开源生态。
顺势而为,再加上合理的架构设计,恰如其分的实现,完全让人有理由相信etcd的成功。
在我最开始接触Kubernetes的时候,就和etcd打过交道了。etcd在华为PaaS平台作为关键组件应用在分布式数据协同与更新观察等架构中。犹记得那时etcd刚发布,我们希望它提升华为PaaS平台的扩展性、性能和稳定性。因此,我们团队还专门成立etcd特别攻关小组,吃透了etcd的内部运作机制和核心技术。我很荣幸成为这个小组的成员。从那时起,我便对etcd着了迷,一口气翻看了etcd的源码,同时也向etcd社区提交了若干个patch。
对于我们团队来说,我们很荣幸见证了etcd在技术和社区的持续进步并成长为Kubernetes项目的一部分。etcd v3的正式发布延续了这个势头,我们期待将来有更多的功能和特性被引入华为云容器平台的产品中。我们也很高兴过去能够与etcd团队和技术社区一起工作,并将持续与etcd技术社区协作,将这项技术推到一个更高的层面。
至于为什么要在工作之余抽空写这本书,我们在容器和Kubernetes技术布道的过程中发现,国内从事该领域的工程师普遍对etcd了解不多,出了问题鲜有定位手段,而etcd官网又没有中文资料,因特网上也缺少深入解析etcd原理的文章。本着回馈社区和普及云原生技术的原则,我们华为云容器服务团队决定编写这本书,做第一个吃螃蟹的人。
毕竟源码面前,了无秘密。
读者对象
这里我们可以根据软件需求划分出本书的受众:
分布式系统工作者
Raft算法研究者
etcd各个程度的学习者
Kubernetes用户与开发者
如何阅读本书
本书分为三部分,其中第二部分以接近实战的实例来讲解etcd的使用,相较于其他两部分更独立。如果你是一名分布式系统的初学者,请一定从第1章的基础理论知识开始学习。
第一部分为基础篇,包括第1章,我们将简单地介绍分布式系统的基本理论,并且详解Raft算法的工作原理,帮助读者了解一些掌握etcd的基础背景知识。
第二部分为实战篇,包括第2~7章,我们将着重讲解etcd的常见功能和使用场景,包括etcd的架构分析、命令行使用、API调用、运维部署等。
第三部分为高级篇,包括第8~11章,我们将直接打开etcd的源码,为喜欢刨根问底的读者深度剖析etcd的实现原理。
勘误和支持
由于作者的水平有限,编写的时间也很仓促,书中不妥之处在所难免,恳请读者批评指正。如果你发现了书中的错误或者有更多的宝贵意见,欢迎发送邮件至我的邮箱m1093782566@163.com,我很期待能够获得你们的真挚反馈。
致谢
我首先要感谢etcd的工程师团队,他们编写并开源了这么一款足以成为云原生基石的分布式存储系统etcd。
感谢华为云容器服务团队的高级架构师、Kubernetes社区核心维护者Kevin老师,他为这本书的出版提供了良好的技术氛围和宝贵的实战经验支持。
感谢CMU在读硕士研究生梁明强同学,在写作过程中为我提供了犀利而宝贵的意见和文字。
感谢机械工业出版社华章公司的编辑杨绣国老师,感谢你的魄力和远见,在这一年多的时间中始终支持我的写作,你的鼓励和帮助引导我能顺利完成全部书稿。
我要感谢我的爸爸、妈妈、外公、外婆,感谢你们将我培养成人,并时时刻刻为我灌输着信心和力量!
我要感谢我的爱人,你的陪伴和鼓励使得这本书得以顺利完成。
谨以此书,献给我最亲爱的家人,以及众多热爱云原生与分布式技术的朋友们。
杜军
中国,华为杭州研究所,2018年9月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.