全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 硬件及维护

etcd技术内幕

  • 定价: ¥89
  • ISBN:9787121343865
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:电子工业
  • 页数:401页
  • 作者:编者:百里燊
  • 立即节省:
  • 2018-07-01 第1版
  • 2018-07-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    etcd是一个可靠的的分布式KV存储,由CoreOS公司开发,其底层使用Raft算法保证一致性,主要用于共享配置和服务发现。
    百里燊编著的《etcd技术内幕》主要从源码角度深入剖析etcd,首先介绍etcd的背景知识,并介绍如何搭建起源码环境以及相关的命令。然后从基本的Raft协议开始介绍,帮助读者了解Raft协议的背景。接着分析etcd-raft模块对Raft协议的实现,etcd-raft模块是etcd的核心模块之一,该模块也被很多其他的项目中直接作为Raft协议的底层实现。然后介绍Http编程基础以及etcd-rafthttp模块的工作原理和具体实现,介绍etcd中如何处理WAL日志文件以及快照数据文件,详细分析了etcd的底层存储。最后重点介绍etcd服务端和etcd客户端的相关内容。
    本书适合Go语言开发者,以及对etcd技术感兴趣的读者阅读。

作者简介

    百里燊,硕士研究生毕业,小时候想成为闯荡江湖的侠客,结果着迷于各种代码,最终沦为辛勤工作的程序员。期待与大家进行交流。邮箱:shen_baili@163.com

目录

第1章  etcd入门
  1.1  etcd简介
  1.2  数据模型
  1.3  环境搭建
    1.3.1  环境变量
    1.3.2  代码结构
    1.3.3  运行
  本章小结
第2章  Raft协议
  2.1  Leader选举
  2.2  日志复制
  2.3  网络分区的场景
  2.4  日志压缩与快照
  2.5  其他技术点
    2.5.1  linearizable语义
    2.5.2  只读请求
    2.5.3  PreVote状态
    2.5.4  Leader节点转移
  本章小结
第3章  etcd-raft模块详解
  3.1  raft结构体
    3.1.1  Config结构体
    3.1.2  Storage接口及其实现
    3.1.3  unstable结构体
    3.1.4  raftLog结构体
    3.1.5  raft实现
  3.2  Node接口
    3.2.1  node结构体
    3.2.2  初始化
    3.2.3  run()方法
    3.2.4  Node接口实现
  3.3  raftexample示例分析
    3.3.1  raftNode
    3.3.2  HTTP服务端
    3.3.3  kvstore
  本章小结
第4章  网络层
  4.1  Go语言网络编程基础
    4.1.1  http.Server
    4.1.2  RoundTripper
  4.2  etcd-rafthttp模块详解
    4.2.1  rafthttp.Transporter接口
    4.2.2  Peer接口
    4.2.3  pipeline
    4.2.4  streamWriter实例
    4.2.5  streamReader实例
    4.2.6  snapshotSender
  4.3  Handler实例
    4.3.1  pipelineHandler
    4.3.2  streamHandler
    4.3.3  snapshotHandler
  本章小结
第5章  WAL日志与快照
  5.1  WAL日志
    5.1.1  初始化
    5.1.2  打开日志
    5.1.3  读取日志
    5.1.4  追加日志
    5.1.5  文件切换
  5.2  SnapShotter
  本章小结
第6章  storage
  6.1  etcd v2版本存储
    6.1.1  node
    6.1.2  Event
    6.1.3  watcher和watcherHub
    6.1.4  store
  6.2  etcd v3版本存储
    6.2.1  backend
    6.2.2  watcher机制
    6.2.3  Lessor
  本章小结
第7章  etcd-server详解
  7.1  raftNode结构体
  7.2  RaftCluster
  7.3  EtcdServer
    7.3.1  初始化
    7.3.2  注册Handler
    7.3.3  启动
  7.4  ApplierV2和applierV3
    7.4.1  ApplierV2
    7.4.2  applierV3
  7.5  AlarmStore
  本章小结
第8章  etcd客户端详解
  8.1  GRPC基础
    8.1.1  定义proto文件
    8.1.2  服务端
    8.1.3  创建客户端
  8.2  Client v3
    8.2.1  kvServer
    8.2.2  EtcdServer
    8.2.3  Client
  8.3  Client v2
    8.3.1  KeysAPI接口
    8.3.2  httpClient接口
  本章小结
参考文献