• 掌握分布式跟踪 微服务和复杂系统性能分析 电子工业出版社
21年品牌 40万+商家 超1.5亿件商品

掌握分布式跟踪 微服务和复杂系统性能分析 电子工业出版社

【保正版 出版社正版新书发货放心订购 支持团购】

125.48 8.7折 144 全新

库存4件

北京朝阳
认证卖家担保交易快速发货售后保障

作者(美)尤里·史库罗 著 冯文辉 译

出版社电子工业出版社

ISBN9787121386824

出版时间2022-04

版次1

印刷时间2022-04

装帧平装

开本16开

页数416页

定价144元

货号1202615428

上书时间2024-05-14

书山有路图书专营店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录

 I引言1

 1为什么需要分布式跟踪2

 微服务与云原生应用程序3

 什么是可观测性5

 微服务的可观测性挑战7

 传统的监控工具9

 指标10

 日志11

 分布式跟踪12

 我在跟踪领域的经历14

 为何编写本书17

 总结18

 参考资料19

 2跟踪一次HotROD之旅20

 先决条件21

 从预打包的二进制文件运行21

 从Docker镜像运行22

 从源代码运行22

 启动Jaeger24

 初识HotROD26

 架构29

 数据流30

 上下文日志32

 span标记与日志35

 确定延迟的来源37

 资源使用属性50

 总结53

 参考资料54

 3分布式跟踪基础55

 想法56

 请求相关性56

 黑盒推理57

 特定于域的模式57

 元数据传播57

 剖析分布式跟踪59

 采样60

 保留因果关系60

 请求间因果关系62

 跟踪模型63

 事件模型63

 span模型65

 时钟偏差调整67

 跟踪分析69

 总结70

 参考资料70

 Ⅱ数据收集问题73

 4OpenTracing的埋点基础74

 先决条件76

 项目源代码76

 Go开发环境77

 Java开发环境78

 Python开发环境78

 MySQL数据库78

 查询工具(curl或wget)79

 跟踪后端(Jaeger)79

 OpenTracing80

 练习1:Hello应用程序83

 用Go语言实现Hello应用程序84

 用Java语言实现Hello应用程序88

 用Python语言实现Hello应用程序92

 练习总结94

 练习2:第一个跟踪94

 步骤1:创建跟踪器实例94

 步骤2:启动span99

 步骤3:注释span102

 练习总结107

 练习3:跟踪函数和传递上下文108

 步骤1:跟踪单个函数109

 步骤2:将多个span合并为一个跟踪111

 步骤3:传播进程内上下文115

 练习总结123

 练习4:跟踪RPC请求124

 步骤1:拆解单体124

 步骤2:在进程之间传递上下文127

 步骤3:应用OpenTracing推荐的标记136

 练习总结141

 练习5:使用baggage141

 在Go中使用baggage142

 在Java中使用baggage142

 在Python中使用baggage143

 练习总结143

 练习6:自动埋点143

 Go中的开源埋点144

 Java中的自动埋点146

 Python中的自动埋点148

 练习7:额外练习151

 总结151

 参考资料152

 5异步应用程序埋点153

 先决条件154

 项目源代码154

 Java开发环境155

 Kafka、ZooKeeper、Redis与Jaeger155

 TracingTalk聊天应用程序156

 实现158

 运行应用程序162

 观察跟踪163

 使用OpenTracing埋点166

 Spring埋点167

 tracerresolver167

 Redis埋点168

 Kafka埋点170

 埋点异步代码178

 总结183

 参考资料183

 6跟踪标准与生态系统184

 埋点形式185

 分析跟踪部署和互操作性188

 跟踪的五种含义190

 了解受众192

 生态系统193

 跟踪系统193

 X-Ray、Stackdriver等194

 标准项目194

 总结200

 参考资料201

 7使用服务网格进行跟踪202

 服务网格203

 服务网格的可观测性206

 先决条件207

 项目源代码207

 Java开发环境208

 Kubernetes208

 Istio208

 Hello应用程序210

 使用Istio进行分布式跟踪213

 使用Istio生成服务图223

 分布式上下文和路由225

 总结228

 参考资料228

 8关于采样230

 基于头部的一致性采样231

 概率采样231

 速率采样232

 保证吞吐量的概率采样234

 自适应采样235

 上下文敏感的采样244

 实时采样或调试采样244

 如何处理过采样247

 基于尾部的一致性采样249

 部分采样253

 总结253

 参考资料253

 Ⅲ从跟踪中获取价值255

 9跟踪的价值256

 作为知识库的跟踪257

 服务图257

 深度,路径感知服务图259

 检测架构问题262

 性能分析263

 关键路径分析263

 识别跟踪模式265

 范例269

 延迟直方图271

 长期性能分析273

 总结273

 参考资料274

 10分布式上下文传播275

 布朗跟踪平面276

 PivotTracing280

 混沌工程283

 流量标记285

 生产环境测试286

 生产环境调试287

 在生产环境中进行开发288

 总结289

 参考资料289

 11集成指标与日志291

 可观测性的三大支柱292

 先决条件294

 项目源代码294

 Java开发环境295

 在Docker中运行服务器295

 在Kibana中声明索引模式296

 运行客户端297

 Hello应用程序298

 与指标集成299

 通过跟踪埋点实现标准指标299

 向标准指标中添加上下文303

 上下文感知的指标API308

 与日志集成309

 结构化日志记录309

 将日志与跟踪上下文关联起来311

 上下文感知的日志API316

 在跟踪系统中捕获日志316

 是否需要单独的日志记录和跟踪后端318

 总结319

 参考资料320

 12通过数据挖掘提炼洞见321

 特征提取322

 数据挖掘管道的组件323

 跟踪后端324

 跟踪完成触发器324

 特征提取器325

 聚合器326

 特征提取练习326

 先决条件328

 项目源代码328

 在Docker中运行服务器329

 在Elasticsearch中定义索引映射330

 Java开发环境331

 微服务模拟器331

 在Kibana中定义索引模式334

 span计数作业336

 跟踪完成触发器338

 特征提取器340

 观测趋势341

 谨防推断349

 历史分析350

 实时分析350

 总结353

 参考资料353

 Ⅳ部署和维护跟踪基础设施355

 13在大型组织中实施跟踪356

 为什么很难部署跟踪埋点357

 减少采用障碍358

 标准框架359

 内部适配器库360

 默认启用跟踪361

 monorepo361

 与现有的基础设施集成362

 从哪里开始362

 构建文化364

 解释价值364

 与开发人员工作流集成365

 跟踪质量指标366

 故障排除指南369

 跳出关键路径369

 总结369

 参考资料370

 14分布式跟踪系统的底层架构371

 为什么需要自己“造轮子”372

 定制和集成372

 带宽成本372

 把控数据373

 押注新兴标准373

 架构和部署模式374

 基本架构:代理+收集器+查询服务374

 流式架构377

 多租户378

 安全381

 在多个数据中心运行382

 监控和故障诊断384

 弹性386

 过采样386

 调试跟踪387

 数据中心故障转移导致的流量峰值387

 无休止的跟踪387

 长跟踪388

 总结388

 参考资料388

 后记390

 参考资料393

 显示全部>>
 隐藏全部>>

 作者简介

 尤里·史库罗(Yuri Shkuro)是Uber的软件工程师,专注于分布式跟踪、可观测性、可靠性和性能领域的研究。他是Uber跟踪团队的技术负责人。在加入Uber之前,Yuri曾在华尔街工作了15年,为很好投资银行、高盛、摩根大通和摩根士丹利的衍生业务构建了交易和风险管理系统。 Yuri在开源社区中的贡献包括成为OpenTracing项目的联合创始人,以及Jaeger(Uber开发的分布式跟踪平台)的创建者和技术领导者。以上两个项目都是云原生技术基金会(CNCF,Cloud Native Computing Foundation)的孵化项目。Yuri也是W3C分布式跟踪工作组的特邀专家。 Yuri Shkuro拥有马里兰大学帕克分校计算机科学博士学位,以及俄罗斯排名前三的大学 MEPhI(Moscow Engineering & Physics Institute)的计算机工程硕士学位。他是许多机器学习和神经网络领域学术论文的作者,其论文已被130多个出版物引用。

 显示全部>>
 隐藏全部>>

 媒体评论

 "《掌握分布式跟踪:微服务和复杂系统性能分析》将使你能够上手操作和改善属于自己的分布式跟踪基础设施。通过实践练习和代码示例,你将了解如何将端到端跟踪用作强大的应用程序性能管理和分析工具。 ——谷歌SRE团队负责人"

 显示全部>>
 隐藏全部>>

 主编推荐

 "谷歌(Google)和亚马逊(Amazon)等互联网巨头的崛起,开启了分布式系统在多个数据中心的数千个节点上运行的新时代。微服务则常常以指数级的规模增加了这种复杂性。调试这些系统、跟踪故障、检测瓶颈,甚至仅仅了解正在发生的事情都会变得更加困难。分布式跟踪专注于解决复杂分布式系统的这些问题。如今,分布式跟踪标准已经建立起来,我们有了更快的系统,使埋点变得不那么具有侵入性,数据变得更有价值。 Jaeger是一个流行的开源分布式跟踪系统,其创始人Yuri Shkuro在《掌握分布式跟踪:微服务和复杂系统性能分析》这本书中对其进行了全方位的讲述,包括回顾分布式跟踪的历史和理论基础;通过使用OpenTracing、W3C Trace Context和OpenCensus等开放标准提供的代码埋点技术,解决数据收集问题,并讨论了分布式跟踪基础设施的应用及其对理解和分析复杂系统带来的好处。 你将学到的东西: ■ 如何开始使用分布式跟踪系统 ■ 如何从端到端跟踪中获得优选价值 ■ 了解该领域的开放标准 ■ 了解代码埋点和操作跟踪基础设施 ■ 了解分布式跟踪在何处适合作为微服务的核心功能"

 显示全部>>
 隐藏全部>>

 内容简介

 本书是作者基于其在Uber跟踪团队担任技术主管时的个人经历而写的。本书分4部分共14章,内容包括:为什么需要分布式跟踪、跟踪一次HotROD之旅、分布式跟踪基础、OpenTracing的埋点基础、异步应用程序埋点、跟踪标准与生态系统、使用服务网格进行跟踪、关于采样、跟踪的价值、分布式上下文传播、集成指标与日志、通过数据挖掘提炼洞见、在大型组织中实施跟踪、分布式跟踪系统的底层架构。希望读者能通过本书了解分布式跟踪及其相关应用的基本原则和设计思路,从而找到将其应用到自己的项目和系统中的有效方法。本书的目标读者包括应用程序开发人员、SRE工程师、DevOps工程师、框架和基础设施开发人员、技术经理和管理人员、跟踪团队等。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP