书籍作者:吴晟 | ISBN:9787111659068 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:7975 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
这是一本从功能使用、项目设计、核心模块、工作原理、扩展实践5个维度全面讲解SkyWalking的著作。由SkyWalking的创始人和核心开发团队撰写,得到了来自华为、百度、蚂蚁金服、京东数科、Tetrate.io的5位技术专家的联袂推荐。
本书共14章,在逻辑上分为4个部分:
第壹部分 SkyWalking入门(第1~3章)
详细介绍了SkyWalking的必备常识、架构设计、安装与配置,以及它在单体应用架构和微服务架构中的实战操作,能帮助读者快速上手;
第二部分 SkyWalking理论(第4~5章)
作为监控软件,SkyWalking需要考虑如何使自身对应用的影响*小化,以及如何实现分布式追踪和监控,这两章对此做了详细的技术分析。内存无堵塞队列是减小系统负载的关键,而集中分布式追踪模型是SkyWalking监控分析的灵魂。
第三部分 SkyWalking原理(第6~12章)
SkyWalking后端的OAP平台具有极强的模块化和扩展能力,本篇深入讲解了总体的模块化设计,以及OAL分析、集群和存储这三个*核心模块。此外,还介绍了探针插件开发和MQ通信模式扩展这两个热门主题。
第四部分 SkyWalking趋势(第13~14章)
SkyWalking虽然是以分布式探针为基础的分布式追踪工具,但深耕于整个APM领域。本部分从Service Mesh和基于语言探针性能剖析这两大方向,展现了SkyWalking在云原生领域更大的集成能力和运用范围。
吴晟
Tetrate.io创始工程师、前华为云技术专家,专注于云原生、分布式系统监控和Service Mesh领域的技术发展。Apache基金会会员,Apache SkyWalking创始人、项目VP和PMC成员,Apache孵化器PMC成员,Apache ShardingSphere PMC成员,Apache APISIX PMC成员,Apache ECharts (incubating)和Apache DolphinScheduler (incubating)孵化器导师,Zipkin成员和贡献者,CNCF OpenTracing核心维护者。
高洪涛
Tetrate.io创始工程师、前华为云技术专家、前DD网系统架构师,拥有丰富的云原生产品设计、研发与实施经验,对分布式数据库、容器调度、微服务、Service Mesh等技术有深入了解。目前为Apache ShardingSphere和Apache SkyWalking核心贡献者,参与项目在软件开发云上的商业化进程,还曾参与Elastic-Job等知名开源项目,拥有丰富的开源项目管理、推广和社区运营经验。
赵禹光
Apache SkyWalking PMC成员、al Sentinel Committer,专注于分布式系统监控、分布式服务的流量控制和分布式作业调度领域的技术发展。贝壳找房软件工程师,贝壳找房开源作业调度平台作者。
曹奕雄
Apache SkyWalking PMC成员、专注于分布式系统监控、RPC等领域的技术发展。曾就职于贝壳找房,现就职于猿辅导。
李璨
Apache SkyWalking PMC成员,对分布式系统监控与微服务的开发和设计有深刻理解,在Kubernetes、云原生和Service Mesh的落地实践方面拥有丰富经验。
随书代码可以从https://github.com/book-apache-skywalking-in-action获取。
更多视频讲解请关注B站号:ApacheSkyWalking
(1)本书由SkyWalking项目创始人以及核心开发团队撰写,官方权威性和技术性毋庸置疑。
(2)本书得到了华为开源能力中心技术专家姜宁、百度开源技术委员会负责人谭中意、Tetrate.io创始工程师周礼赞、京东数科数字技术中心架构专家/Apache ShardingSphere项目VP&创始人张亮、蚂蚁金服云原生布道师宋净超等5位专家联袂推荐。
(3)从功能使用、项目设计、核心模块、工作原理、扩展实践5个维度全面讲解SkyWalking。
为什么写作本书
从2010年开始,分布式架构几乎颠覆了整个IT架构。无论是早期的SOA体系,还是后来的微服务、容器化、Kubernetes等,无一不是从分布式角度提升系统的容错能力和吞吐能力。然而不可避免地,监控难度也在随着分布式程度的加深而同比加大。基于日志、指标及静态部署架构的传统监控系统越来越难以跟上系统发展的步伐。
从2012年到2015年,我因为参与中国联通的首个全国集中系统,饱受分布式系统错误定位的困扰,也是在那时,我决定着手建立SkyWalking这个项目。2017年年底,SkyWalking作为中国的个人项目社区加入Apache孵化器,并于2019年年初毕业成为Apache顶级项目。
Apache SkyWalking作为Apache顶级项目,有着强大的国际化的开发者社区,被很多世界500强公司采用。由于国际化的需要,官方文档和交流全部采用英语。与此同时,SkyWalking在国内也有庞大的用户群体,几乎涵盖了包括互联网、ICT、银行、航空公司、保险、教育、电信、电力等在内的所有行业,而英文沟通和文档成了部分国内用户了解SkyWaling的障碍。SkyWalking的PMC团队中的中国成员,在收到机械工业出版社杨福川的邀请后,决定在百忙之中抽出时间,将自己在项目中沉淀的知识、理解梳理成书,让国内读者能比阅读官方文档更加深入地理解Apache SkyWalking,也为大家进行二次开发、参与项目贡献提供更为清晰的思路。
本书主要内容
本书将Apache SkyWalking使用方法、项目设计、架构模块和扩展实践进行了分组归纳,为大家展现了Apache SkyWalking的全貌。本书共14章,每章的主要内容如下。
第1章 全面认识Apache SkyWalking
本章概要介绍SkyWalking项目的使用场景、设计理念和设计思想。开源项目的发展往往不可预测,了解其核心理念将是与社区长久保持一致的重要基础。
第2章 SkyWalking安装与配置
本章引导大家从零起步,了解项目的安装部署过程及常用配置。
第3章 Apache SkyWalking实战
本章通过典型场景,对SkyWalking的功能进行系统性的展现,使读者全面认识其系统功能。
第4章 轻量级队列内核
本章介绍SkyWalking Java探针中的内存级消息队列,阐述它的优势、设计目的和实现。
第5章 SkyWalking追踪模型
本章介绍SkyWalking专有的追踪模型。虽然项目模型脱胎于论文“Google Dapper”,但是针对分布式APM的场景,其设计与其他分布式追踪系统有明显的区别。
第6章 SkyWalking OAP Server模块化架构
本章介绍模块化——SkyWalking设计中一个无处不在的理念在OAP中的落地实现。通过阅读本章,读者会对OAP的整体设计思想有清晰的认识。
第7章 Observability Analysis Language体系
本章介绍OAL这个虽简单但却是SkyWalking专有设计的编译型脚本语言。通过它,大家可以了解SkyWalking流式处理模型。
第8章 SkyWalking OAP Server集群通信模型
本章介绍SkyWalking OAP Server集群的工作方式、集群内数据通信模型、数据流向,帮助用户在进行超大规模部署时,更合理地规划网络和部署方式。
第9章 SkyWalking OAP Server存储模型
SkyWalking不同于传统的应用,它拥有强大的模型扩展能力。本章将结合抽象概念和实例,介绍数据存储模型的定义方法、模型字段及模型扩展方式。
第10章 Java探针插件开发
本章介绍SkyWalking的Java探针工程结构、开发方法及开发示例。探针插件开发是最常用的二次开发扩展方式。
第11章 探针和后端消息通信模式开发
本章为动手实践环节,探针和后端消息通信模式的扩展是个经常被讨论的话题。本章会详细阐述项目设计的缘由并带领大家进行代码实践扩展。
第12章 SkyWalking OAP Server监控与指标
本章将介绍一个高级特性:如何对SkyWalking后端进行监控。监控系统也需要被监控,这是SkyWalking大规模部署的常用特性。
第13章 下一代监控体系——SkyWalking观测Service Mesh
Service Mesh目前还处在技术栈发展的早期,但SkyWalking已经身先士卒,做好准备。本章将介绍如何在这种全新的架构和技术下完成观测。
第14章 SkyWalking未来初探
SkyWalking 7于2020年3月发布,加入了很多新特性。本章将深入介绍SkyWalking 7中最核心的特性——代码性能剖析。
本书读者对象
本书适合所有的Apache SkyWalking初学者、使用者和二次开发者阅读。本书涵盖了从项目入门到设计理念、核心模块的多层次内容。如果你想系统学习和了解Apache SkyWalking,本书是你的最佳选择。如果你想了解现代的分布式监控系统、分布式追踪的相关知识,本书也会在理论和实践层面给你启发。如果你想动手构建自己的分布式监控系统,Apache SkyWalking也是值得你学习的典型案例和实现。
如何阅读本书
本书的章节按照先入门、快速上手实践,然后回顾设计理论,并逐步深入核心模块和高级特性的方式编排。读者不会因翻开书就读到枯燥的理论内容而打消学习的兴趣,同时,后半部分的深入讲解能让大家不局限在基本的使用上,而是更好地探究项目的实现,甚至打开参与开源贡献之门。
勘误与支持
由于作者团队的水平有限,写作时间仓促,再加上Apache SkyWalking为志愿者社区,开源项目存在多元化、开放和快
前 言
第1章 全面认识Apache SkyWalking 1
1.1 SkyWalking介绍 1
1.1.1 什么是SkyWalking 1
1.1.2 SkyWalking的发展历程 2
1.1.3 SkyWalking的适用场景 3
1.1.4 SkyWalking的社区与生态 5
1.2 SkyWalking的架构设计 6
1.2.1 面向协议设计 7
1.2.2 模块化设计 8
1.2.3 轻量化设计 9
1.3 SkyWalking的优势 9
1.3.1 传统分布式架构与云原生的一致性支持 10
1.3.2 易于维护 10
1.3.3 高性能 11
1.3.4 利于二次开发和集成 11
1.4 SkyWalking开发必备知识介绍 11
1.4.1 JavaAgent介绍 12
1.4.2 远程调试介绍 18
1.4.3 Service Mesh介绍 19
1.5 本章小结 21
第2章 SkyWalking安装与配置 22
2.1 项目编译与工程结构 22
2.1.1 项目编译 22
2.1.2 工程结构 24
2.2 JavaAgent安装 27
2.2.1 安装方法 27
2.2.2 配置参数 29
2.2.3 插件介绍 30
2.2.4 高级特性 36
2.3 后端与UI部署 43
2.3.1 SkyWalking部署介绍 43
2.3.2 快速启动 45
2.3.3 application.yaml详解 46
2.3.4 参数复写 51
2.3.5 IP和端口设置 51
2.3.6 集群管理配置 52
2.3.7 Kubernetes部署 56
2.3.8 后端存储 58
2.3.9 设置服务端采样率 62
2.3.10 告警设置 63
2.3.11 Exporter设置 66
2.3.12 UI部署详解 66
2.4 UI介绍 67
2.4.1 Dashboard介绍 67
2.4.2 拓扑介绍 69
2.4.3 Trace视图 70
2.5 本章小结 71
第3章 Apache SkyWalking实战 72
3.1 SkyWalking与单体应用架构 72
3.1.1 什么是单体应用架构 72
3.1.2 单体应用架构的优缺点 74
3.1.3 SkyWalking对单体应用架构的适用性 74
3.2 SkyWalking与微服务架构 75
3.2.1 远程过程调用 77
3.2.2 外部服务 78
3.3 实战环境搭建 79
3.3.1 SkyWalking后台搭建 79
3.3.2 实战集群搭建 80
3.4 实战操作 82
3.4.1 观察微服务中的各个维度 82
3.4.2 观察指标 83
3.4.3 观察系统架构 85
3.4.4 提取关键路径 90
3.4.5 查找失败服务或请求 93
3.4.6 查找慢服务或请求 96
3.4.7 处理告警 101
3.5 本章小结 105
第4章 轻量级队列内核 106
4.1 什么是轻量级队列内核 106
4.1.1 Buffer 106
4.1.2 Channel 107
4.1.3 DataCarrier 108
4.2 生产者—消费者如何协同 108
4.2.1 生产消息 108
4.2.2 消费消息 111
4.3 本章小结 115
第5章 SkyWalking追踪模型 116
5.1 追踪模型入门 116
5.1.1 Dapper与追踪模型 116
5.1.2 典型的追踪模型 119
5.2 SkyWalking追踪模型与协议 120
5.2.1 SkyWalking追踪模型 120
5.2.2 SkyWalking数据传输协议 122
5.3 SkyWalking探针上下文传播协议 124
5.3.1 传播模型 124
5.3.2 传播上下文 124
5.4 SkyWalking v3协议 125
5.5 本章小结 126
第6章 SkyWalking OAP Server模块化架构 127
6.1 模块化框架 127
6.1.1 模块和模块实现 127
6.1.2 模块管理配置文件 129
6.2 模块启动与模块依赖 130
6.3 模块可替换性 131
6.4 模块实现选择器 132
6.5 新增模块 132
6.6 本章小结 133
第7章 Observability Analysis Language体系 134
7.1 什么是OAL 134
7.2 OAL实现原理 135
7.3 OAL语法 137
7.3.1 指标计算定义语法 137
7.3.2 disable语法 142
7.4 本章小结 143
第8章 SkyWalking OAP Server集群通信模型 144
8.1 计算流 145
8.2 通信协议 146
8.3 集群协调器 148
8.4 本章小结 149
第9章 SkyWalking OAP Server存储模型 150
9.1 模型结构介绍 150
9.1.1 注册模型结构 150
9.1.2 明细模型结构 152
9.1.3 指标模型结构 153
9.1.4 采样模型结构 154
9.2 存储模型间的联系 154
9.3 存储模型与OAL的关系 156
9.4 本章小结 159
第10章 Java探针插件开发 160
10.1 基础概念 160
10.1.1 Span 160
10.1.2 Trace Segment 161
10.1.3 ContextCarrier 162
10.1.4 ContextSnapshot 162
10.2 核心对象相关API的使用 162
10.3 探针插件工程结构 168
10.3.1 工程结构简介 168
10.3.2 定义拦截形式 169
10.3.3 实现拦截形式的拦截器 171
10.4 探针插件开发实战 171
10.4.1 设计探针插件 172
10.4.2 Apache Dubbo探针插件 173
10.4.3 Spring @Async探针插件 177
10.5 本章小结 182
第11章 探针和后端消息通信模式开发 183
11.1 为什么官方默认不提供多种方式 183
11.2 通信机制分析 184
11.2.1 探针与后端的注册通信 184
11.2.2 探针与后端的数据上报通信 193
11.3 如何扩展通信模式 197
11.3.1 使用HTTP扩展注册通信 198
11.3.2 使用Kafka扩展数据上报通信 205
11.4 本章小结 214
第12章 SkyWalking OAP Server监控与指标 215
12.1 针对Trace场景的监控指标 216
12.2 针对Service Mesh场景的监控指标 219
12.3 自监控 220
12.4 本章小结 22
......
书很好,不过目前已经8.0.1,里面介绍的是6的版本。8改动很大
2020-07-24 08:50:39
挺好哒(?▽?)挺好哒(?▽?)挺好哒(?▽?)挺好哒(?▽?)挺好哒(?▽?)挺好哒(?▽?)
2020-07-30 11:02:39
支持Skywalking 国产,Apache顶级,已经开始使用了,
2020-07-20 14:21:29
冲着内容买的,但是不知道是仓储还是运输的原因,竟然不像新书的样子
2020-07-24 08:45:04
SykWaling一直是APM领域的翘楚,本书对SykWaling原理、应用及扩展进行了详细介绍,关键是中文的介绍
2020-07-18 17:49:03