计算机
类型
可以朗读
语音朗读
222千字
字数
2022-04-01
发行日期
展开全部
主编推荐语
分布式跟踪:端到端可观察性工具,分四部分讨论数据获取、应用及实践建议。
内容简介
分布式跟踪也被称为端到端跟踪,作为复杂分布式系统必备的可观察性工具,最近开始受广泛关注。分布式跟踪通过观测跨进程和网络的各个请求或事务的端到端执行发挥着不可替代的作用。本书共分为四部分:第一部分对分布式跟踪领域进行了概述;第二部分讨论如何通过手动埋点和自动埋点(基于代理的),从RPC和异步(例如消息队列)应用程序中获取跟踪数据;第三部分讨论工程师和组织从采用分布式跟踪解决方案中获益的不同方式;第四部分向跟踪团队提供关于在大型组织中实现和运行跟踪平台的各种实用建议。
目录
- 封面
- 内容简介
- 贡献者
- 前言
- Ⅰ 引言
- 1 为什么需要分布式跟踪
- 微服务与云原生应用程序
- 什么是可观测性
- 微服务的可观测性挑战
- 传统的监控工具
- 指标
- 日志
- 分布式跟踪
- 我在跟踪领域的经历
- 为何编写本书
- 总结
- 参考资料
- 2 跟踪一次HotROD之旅
- 先决条件
- 从预打包的二进制文件运行
- 从Docker镜像运行
- 从源代码运行
- 启动Jaeger
- 初识HotROD
- 架构
- 数据流
- 上下文日志
- span标记与日志
- 确定延迟的来源
- 资源使用属性
- 总结
- 参考资料
- 3 分布式跟踪基础
- 想法
- 请求相关性
- 黑盒推理
- 特定于域的模式
- 元数据传播
- 剖析分布式跟踪
- 采样
- 保留因果关系
- 请求间因果关系
- 跟踪模型
- 事件模型
- span模型
- 时钟偏差调整
- 跟踪分析
- 总结
- 参考资料
- Ⅱ 数据收集问题
- 4 OpenTracing的埋点基础
- 先决条件
- 项目源代码
- Go开发环境
- Java开发环境
- Python开发环境
- MySQL数据库
- 查询工具(curl或wget)
- 跟踪后端(Jaeger)
- OpenTracing
- 练习1:Hello应用程序
- 用Go语言实现Hello应用程序
- 用Java语言实现Hello应用程序
- 用Python语言实现Hello应用程序
- 练习总结
- 练习2:第一个跟踪
- 步骤1:创建跟踪器实例
- 步骤2:启动span
- 步骤3:注释span
- 练习总结
- 练习3:跟踪函数和传递上下文
- 步骤1:跟踪单个函数
- 步骤2:将多个span合并为一个跟踪
- 步骤3:传播进程内上下文
- 练习总结
- 练习4:跟踪RPC请求
- 步骤1:拆解单体
- 步骤2:在进程之间传递上下文
- 步骤3:应用OpenTracing推荐的标记
- 练习总结
- 练习5:使用baggage
- 在Go中使用baggage
- 在Java中使用baggage
- 在Python中使用baggage
- 练习总结
- 练习6:自动埋点
- Go中的开源埋点
- Java中的自动埋点
- Python中的自动埋点
- 练习7:额外练习
- 总结
- 参考资料
- 5 异步应用程序埋点
- 先决条件
- 项目源代码
- Java开发环境
- Kafka、ZooKeeper、Redis与Jaeger
- Tracing Talk聊天应用程序
- 实现
- 运行应用程序
- 观察跟踪
- 使用OpenTracing埋点
- Spring埋点
- tracer resolver
- Redis埋点
- Kafka埋点
- 埋点异步代码
- 总结
- 参考资料
- 6 跟踪标准与生态系统
- 埋点形式
- 分析跟踪部署和互操作性
- 跟踪的五种含义
- 了解受众
- 生态系统
- 跟踪系统
- X-Ray、Stackdriver等
- 标准项目
- 总结
- 参考资料
- 7 使用服务网格进行跟踪
- 服务网格
- 服务网格的可观测性
- 先决条件
- 项目源代码
- Java开发环境
- Kubernetes
- Istio
- Hello应用程序
- 使用Istio进行分布式跟踪
- 使用Istio生成服务图
- 分布式上下文和路由
- 总结
- 参考资料
- 8 关于采样
- 基于头部的一致性采样
- 概率采样
- 速率限制采样
- 保证吞吐量的概率采样
- 自适应采样
- 上下文敏感的采样
- 实时采样或调试采样
- 如何处理过采样
- 基于尾部的一致性采样
- 部分采样
- 总结
- 参考资料
- Ⅲ 从跟踪中获取价值
- 9 跟踪的价值
- 作为知识库的跟踪
- 服务图
- 深度,路径感知服务图
- 检测架构问题
- 性能分析
- 关键路径分析
- 识别跟踪模式
- 范例
- 延迟直方图
- 长期性能分析
- 总结
- 参考资料
- 10 分布式上下文传播
- 布朗跟踪平面
- Pivot Tracing
- 混沌工程
- 流量标记
- 生产环境测试
- 生产环境调试
- 在生产环境中进行开发
- 总结
- 参考资料
- 11 集成指标与日志
- 可观测性的三大支柱
- 先决条件
- 项目源代码
- Java开发环境
- 在Docker中运行服务器
- 在Kibana中声明索引模式
- 运行客户端
- Hello应用程序
- 与指标集成
- 通过跟踪埋点实现标准指标
- 向标准指标中添加上下文
- 上下文感知的指标API
- 与日志集成
- 结构化日志记录
- 将日志与跟踪上下文关联起来
- 上下文感知的日志API
- 在跟踪系统中捕获日志
- 是否需要单独的日志记录和跟踪后端
- 总结
- 参考资料
- 12 通过数据挖掘提炼洞见
- 特征提取
- 数据挖掘管道的组件
- 跟踪后端
- 跟踪完成触发器
- 特征提取器
- 聚合器
- 特征提取练习
- 先决条件
- 项目源代码
- 在Docker中运行服务器
- 在Elasticsearch中定义索引映射
- Java开发环境
- 微服务模拟器
- 在Kibana中定义索引模式
- span计数作业
- 跟踪完成触发器
- 特征提取器
- 观测趋势
- 谨防推断
- 历史分析
- 实时分析
- 总结
- 参考资料
- Ⅳ 部署和维护跟踪基础设施
- 13 在大型组织中实施跟踪
- 为什么很难部署跟踪埋点
- 减少采用障碍
- 标准框架
- 内部适配器库
- 默认启用跟踪
- monorepo
- 与现有的基础设施集成
- 从哪里开始
- 构建文化
- 解释价值
- 与开发人员工作流集成
- 跟踪质量指标
- 故障排除指南
- 跳出关键路径
- 总结
- 参考资料
- 14 分布式跟踪系统的底层架构
- 为什么需要自己“造轮子”
- 定制和集成
- 带宽成本
- 把控数据
- 押注新兴标准
- 架构和部署模式
- 基本架构:代理+收集器+查询服务
- 流式架构
- 多租户
- 安全
- 在多个数据中心运行
- 监控和故障诊断
- 弹性
- 过采样
- 调试跟踪
- 数据中心故障转移导致的流量峰值
- 无休止的跟踪
- 长跟踪
- 总结
- 参考资料
- 后记
- 参考资料
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。